这次遇到问题,问题阐述如下:
想通过ajax的异步传输,在用户注册页面,当用户输入用户名后显示该用户的可用与否,此处用到struts2,ajax的request对象把url转向action,通过action与数据库交互,判断用户名是否可用。
遇到了action中如何返回需要的提示信息的问题,我是这样解决的,通过建立相应的jsp页面来显示提示内容,代码贴上,口述看者模糊。
jsp页面
<script language="javascript">
var http_request = false;
function t1(){
var userName = document.all("um.userName").value;
//alert(userName);
//ajax开始-----------------------------
//1:创建对象
myRequest = new ActiveXObject("Microsoft.XMLHTTP");
//2:给该对象注册事件,当对象的状态改变时,调用后面的回调方法
//alert(myRequest.readyState);
myRequest.onreadystatechange = t2;
//3:设置请求方式、目标url以及是否异步交互,其中true表示异步
myRequest.open("GET","/s2/user/myAction?uwm.submitFlag=toAdd&um.userName="+userName,true);
//4:
myRequest.send(null);
}
function t2(){
//alert(myRequest.readyState);
if(myRequest.readyState==4){
//如果交互完成
//alert(myRequest.status);
if(myRequest.status==200){
//并且交互成功
//取得服务端返回的信息
var retVal = myRequest.responseText;
//ajax结束-----------------------------
//alert(retVal);
//后续处理
document.all("myspan").innerHTML=retVal;
}
}
}
</script>
<body>
<form name="add" action="/s2/user/myAction.action?uwm.submitFlag=add" method="post">
<table align="center">
<tr>
<td colspan="2"><font size="+1" color="#ff00ss">添加用户</font></td>
</tr>
<tr>
<td>用户姓名:</td>
<td><input type="text" name="um.userName" onblur="t1()"/><font color="red">*<span id="myspan"></span></font></td>
</tr>
action中的代码如下:
public String execute() throws Exception {
String submitFlag = uwm.getSubmitFlag();
//System.out.println(submitFlag);
if(submitFlag!=null){
if("toAdd".equals(submitFlag)){
return toAdd();
}
}
private String toAdd() throws IOException {
String userName = um.getUserName();
qum.setUserName(userName);
Collection col = UserServiceFactory.getUserService().getUserByCondition(qum);
if(col.size()==0){
return "yes";
}else{
return "no";
}
}
struts.xml
<result name="yes">/pages/yes.jsp</result>
<result name="no">/pages/no.jsp</result>
相应两个跳转的页面的内容:
恭喜,此用户名可用!//yes.jsp
sorry,此用户名已存在,请重新输入!//no.jsp
此处用jsp页面装载提示信息个人觉得不是解决的好办法,学的不够深入,在Servlet中,是不存在这种情况的,直接用PrintWriter 输出相应的提示信息,通过jsp页面的 request.responseText即可获取到相应的提示。
分享到:
相关推荐
依照顺序把下载的压缩包改成名字才可以解包 ASP.NET AJAX 程序设计 第二卷.part1 .rar ASP.NET AJAX 程序设计 第二卷.part2 .rar ASP.NET AJAX 程序设计 第二卷.part3 .rar ASP.NET AJAX 程序设计 第二卷.part4 .rar...
JavaScript语言与Ajax应用(第二版)-源代码-董宁-51704128
ASP.NET.Ajax程序设计第2卷(客户端)
AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX
ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件
ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效
ajax详解ajax详解ajax详解 ajax详解ajax详解ajax详解 ajax详解ajax详解ajax详解 ajax详解ajax详解ajax详解
ajax ajax原理 ajax代码 ajax编程 ajax学习
AJAX高级程序设计第二版
掌握 Ajax第 2 部分-使用 JavaScript 和 Ajax 发出异步请求 掌握 Ajax第 3 部分-Ajax 中的高级请求和响应 掌握 Ajax第 4 部分-利用 DOM 进行 Web 响应 掌握 Ajax第 5 部分-操纵 DOM 掌握 Ajax第 6 部分-建立基于 DOM...
Ajax存在问题就是在异步情况下无法控制什么时候完成记录显示,本人根据回调方法封装了个类,能够将回调方法用参数方式指定,使ajax调用结束后调用回调方法,吧内容传回。ajaxSubmitToDivCallback(显示内容div,提交...
ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件...
ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子
ASP.NET Ajax程序设计 第II卷 pdf版 还是热乎着的呢 第2部 这只是基本的一部分.其它部分在这里都可以找到
Ajax Ajax本质 Ajax本质源码 Ajax Ajax本质 Ajax本质源码 Ajax Ajax本质 Ajax本质源码
1、自己手写的javascript ajax异步调用 并回调js函数传参。 2、异步调用并实现xsl 解析xml
第2节 ajax请求第三方接口天气预报案例.rar
ajax上传ajax上传ajax上传ajax上传ajax上传
第 2 部分:: 使用 JavaScript 和 Ajax 发出异步请求 第 3 部分: Ajax 中的高级请求和响应 第 4 部分: 利用 DOM 进行 Web 响应 第 5 部分: 操纵 DOM 第 6 部分: 建立基于 DOM 的 Web 应用程序 第 7 部分: 在请求和...
ajax 分页ajax 分页ajax 分页