Struts2+AJax判断用户名是否存在,写的已经很详细了哦,如果还看不懂的话,可以留言,大家共同学习
JSP:
<Script>
function CheckUserId(userId){
var request;
var span;
span=document.getElementById("result");
if(window.XMLHttpRequest){
request=new XMLHttpRequest();//其他非ie浏览器支持
}
else if(window.ActiveXObject)
{
request=new ActiveXObject("Microsoft.XMLHTTP");//微软的ie浏览器支持
}
request.onreadystatechange = function press() {
if(request.readyState < 4) {
span.style.color = "blue";
span.innerHTML="正在检测";
}
if(request.readyState == 4) {
if(request.status == 200) {
if(request.responseText == "用户ID已存在") {
span.style.color = "red";
span.innerHTML="ID已存在";
}else {
span.style.color = "green";
span.innerHTML="可以使用哦~";
}
}
}
};
request.open("get", "isExists.action?userId="+userId.value, true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
request.send("");
}
</Script>
<input type="text" id="UserId" name="UserId" οnblur="CheckUserId(this)"/>
Struts.xml中:
<action name="isExists" class="wys.zml.action.LoginAction">
<result> /register.jsp</result>
Action中:
@Override
public String execute() throws Exception {
// 集合Ajax,前台验证用户id是否已存在
System.out.println("检测用户名是否存在");
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse respons = ServletActionContext.getResponse();
String userid = request.getParameter("userId");
respons.setContentType("text/html;charset=utf-8");
String sendString = "";
LoginDao logindao = new LoginDao();
boolean flag = logindao.checkUserId(userid);
// flag true为该用户名已存在,false为该用户名可以使用
if (flag) {
sendString = "用户ID已存在";
respons.getWriter().print(sendString);
} else {
sendString = "该用户名可用!";
respons.getWriter().print(sendString);
}
return null;
}