我想在struts2中加入Ajax做用户名是否重复的判断,不知道该怎么做,如果用sevlet我倒是会做的,可是在struts2中好像做不了啊。。。求各位帮我看看要怎么做啊?做好能给完整的例子让我研究下。
6条回答 默认 最新
- _init_ 2012-12-11 13:27关注
正好我刚做了一个相关的作业设计,给你看看,就是用的struts2,其实就是action不返回原来的string结果,用struts里的servletActionContext类的geiResponse()方法获取底层HttpServletResponse的引用,然后就和servlet里面一样了,看代码的..
struts的action类:
[code="java"]package com.ray;
import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;
import org.hibernate.Session;public class CheckUserAction {
public String execute() throws Exception{
try{
String responseText="";
HttpServletRequest request=ServletActionContext.getRequest();
String username=request.getParameter("user");
Session session=com.ray.HibernateSessionFactory.getSession();
User user=(User)session.get(User.class, username);
if(user==null){
responseText="恭喜,用户名可用";
}else
responseText="此用户名已被使用";
HttpServletResponse response=ServletActionContext.getResponse();
response.setCharacterEncoding("gb2312");
response.setContentType("text/plain");
PrintWriter out=response.getWriter();
out.print(responseText);
out.flush();
out.close();
session.close();
}catch(IOException e){
e.printStackTrace();
}
return null;
}
}
[/code]
检查用户名的Ajax:
[code="java"]
function checkuser(){
var xmlHttp;
var reguser=document.all.form2.reguser.value;
if(reguser.length>=3){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}else
xmlHttp=new XMLHttpRequest();
xmlHttp.open("get","check.action?user="+reguser,true);
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
checkSpan.innerText=xmlHttp.responseText;
}else
checkSpan.innerText+="正在检查,请稍等...";
}
};
xmlHttp.send();
}else
alert("账号至少3位");
}
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 delta降尺度方法,未来数据怎么降尺度
- ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
- ¥15 再不同版本的系统上,TCP传输速度不一致
- ¥15 高德地图点聚合中Marker的位置无法实时更新
- ¥15 DIFY API Endpoint 问题。
- ¥20 sub地址DHCP问题
- ¥15 delta降尺度计算的一些细节,有偿
- ¥15 Arduino红外遥控代码有问题
- ¥15 数值计算离散正交多项式
- ¥30 数值计算均差系数编程