<script type="text/javascript">
var xmlHttp;
var result = false;
function checkuid(){
var username = document.all.username.value;
if(username.length<3){
document.all.usernameMsg.innerHTML="<font color='red'>用户名太短,请重新输入!</font>";
return false;
}else{
document.all.usernameMsg.innerHTML="<font color='red'>用户名检测中...</font>";
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
var uri = "user!CheckUser.action?username="+username;
xmlHttp.open("post",uri,true);
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
var flag = xmlHttp.responseText;
if(flag=="true"){
document.all.usernameMsg.innerHTML="<font color='red'>该用户名已被使用,请您重新选择用户名!</font>";
result = false;
}else{
document.all.usernameMsg.innerHTML="<font color='red'>恭喜您,该用户名可用!</font>";
result = true ;
}
}
}
}
xmlHttp.send(null);
}
}
</script>
public void CheckUser() {
PrintWriter pw = null;
System.out.println("username=" + username);
list = userService.query("from User where username='" + username + "'");
System.out.println(list);
System.out.println("aadasd");
if (list != null) {
pw.write("true");
} else {
pw.write("false");
}
pw.flush();
pw.close();
}
这段代码肯定有错。第二个是Struts2的Action,请问这些要怎么写了?求补充
pw是null怎么输出数据给前台?找找jquery吧,自己写太费劲了建议LZ用用jquery的Ajax把,如果你是初学jsp的话,用这种异步请求可以理解。
不过你检查用户名的action,你的printWrite为null啊,用request对象赋值下吧!
PrintWriter pw = null;
改为
PrintWriter pw = ServletActionContext.getResponse.getWriter();
可以打印下list看看list的值。一般情况,是你那个判断list是否为空的操作出问题了。