jsp代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#username").blur(function(){
var username=$("#username").val();
alert(username);
$.ajax({
url:'rv',
type:'post',
data:"username="+username,
dataType:'json',
success:function(data){
alert(data);
}
});
});
});
</script>
<script type="text/javascript">
function vpassword1()
{
var password1=document.getElementById("password1").value;
var reg = new RegExp(/^[a-zA-Z0-9]{6,}/);
if(reg.test(password1))
{
document.getElementById("spassword1").innerHTML="正确";
}
else
{
document.getElementById("spassword1").innerHTML="格式不对";
}
}function vpassword2()
{
var password2=document.getElementById("password2").value;
var password1=document.getElementById("password1").value;
if(password2==password1)
{
document.getElementById("spassword2").innerHTML="正确";
}
else
{
document.getElementById("spassword2").innerHTML="两次输入的密码不一致";
}
}
function vmail()
{
var mail=document.getElementById("mail").value;
var reg = new RegExp(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]+$/);
if(reg.test(mail))
{
document.getElementById("smail").innerHTML="正确";
}
else
{
document.getElementById("smail").innerHTML="格式不对";
}
}
</script>
</head>
<body style="background-image:url('./images/bg.jpg');background-repeat: no-repeat;">
<form action="register" method="post">
<table width="51%" border="1" align="center" style="margin-top:120px;">
<tr>
<td colspan="3"><strong>用户注册:</strong></td>
</tr>
<tr>
<td width="17%" height="24">用户名:</td>
<td width="30%"><label>
<input type="text" name="username" id="username">
</label></td>
<td><span id="rusername">请输入用户名,以字母开头</span></td>
</tr>
<tr>
<td>密码:</td>
<td>
<input type="password" name="password1" id="password1" onblur="vpassword1()"> </td>
<td><span id="spassword1">请输入不少于6位的数字或字母密码</span></td>
</tr>
<tr>
<td>确认密码:</td>
<td><label>
<input type="password" name="password2" id="password2" onblur="vpassword2()">
</label></td>
<td><span id="spassword2">确认密码</span></td>
</tr>
<tr>
<td>邮箱</td>
<td><input type="text" name="mail" id="mail" onblur="vmail()"></td>
<td><span id="smail">请输入正确的邮箱</span></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="button" id="button" value="注册"></td>
<td align="center"><input type="reset" name="button2" id="button2" value="重置"></td>
</tr>
</table>
</form>
<p> </p></body>
</html>action代码:
import com.niit.service.UserManger;
import com.opensymphony.xwork2.ActionSupport;public class RegisterValidate extends ActionSupport
{
private String username;
private UserManger usermanager;
private String msg; public String getMsg()
{
return msg;
} public void setMsg(String msg)
{
this.msg = msg;
} public UserManger getUsermanager()
{
return usermanager;
} public void setUsermanager(UserManger usermanager)
{
this.usermanager = usermanager;
} public String getUsername()
{
return username;
} public void setUsername(String username)
{
this.username = username;
} @Override
public String execute() throws Exception
{
System.out.println("进入rv:" + username);
if (usermanager.vUser(username))
{
msg="username exist!";
System.out.println(msg);
return SUCCESS;
}
else
{
if ("".equals(username))
{
msg="username null!";
System.out.println(msg);
}
else
{
msg="username ok";
System.out.println(msg);
}
return SUCCESS;
}
}
}相应的xml配置:
</package>
<package name="ajax" extends="json-default">
<action name="rv" class="com.niit.action.RegisterValidate">
<result type="json"></result>
<param name="root">msg</param>
</action>
</package>其中usermanager.vUser(username)没有问题,因为可以输出"username ok",但就是不执行 alert(data);
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#username").blur(function(){
var username=$("#username").val();
alert(username);
$.ajax({
url:'rv',
type:'post',
data:"username="+username,
dataType:'json',
success:function(data){
alert(data);
}
});
});
});
</script>
<script type="text/javascript">
function vpassword1()
{
var password1=document.getElementById("password1").value;
var reg = new RegExp(/^[a-zA-Z0-9]{6,}/);
if(reg.test(password1))
{
document.getElementById("spassword1").innerHTML="正确";
}
else
{
document.getElementById("spassword1").innerHTML="格式不对";
}
}function vpassword2()
{
var password2=document.getElementById("password2").value;
var password1=document.getElementById("password1").value;
if(password2==password1)
{
document.getElementById("spassword2").innerHTML="正确";
}
else
{
document.getElementById("spassword2").innerHTML="两次输入的密码不一致";
}
}
function vmail()
{
var mail=document.getElementById("mail").value;
var reg = new RegExp(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]+$/);
if(reg.test(mail))
{
document.getElementById("smail").innerHTML="正确";
}
else
{
document.getElementById("smail").innerHTML="格式不对";
}
}
</script>
</head>
<body style="background-image:url('./images/bg.jpg');background-repeat: no-repeat;">
<form action="register" method="post">
<table width="51%" border="1" align="center" style="margin-top:120px;">
<tr>
<td colspan="3"><strong>用户注册:</strong></td>
</tr>
<tr>
<td width="17%" height="24">用户名:</td>
<td width="30%"><label>
<input type="text" name="username" id="username">
</label></td>
<td><span id="rusername">请输入用户名,以字母开头</span></td>
</tr>
<tr>
<td>密码:</td>
<td>
<input type="password" name="password1" id="password1" onblur="vpassword1()"> </td>
<td><span id="spassword1">请输入不少于6位的数字或字母密码</span></td>
</tr>
<tr>
<td>确认密码:</td>
<td><label>
<input type="password" name="password2" id="password2" onblur="vpassword2()">
</label></td>
<td><span id="spassword2">确认密码</span></td>
</tr>
<tr>
<td>邮箱</td>
<td><input type="text" name="mail" id="mail" onblur="vmail()"></td>
<td><span id="smail">请输入正确的邮箱</span></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="button" id="button" value="注册"></td>
<td align="center"><input type="reset" name="button2" id="button2" value="重置"></td>
</tr>
</table>
</form>
<p> </p></body>
</html>action代码:
import com.niit.service.UserManger;
import com.opensymphony.xwork2.ActionSupport;public class RegisterValidate extends ActionSupport
{
private String username;
private UserManger usermanager;
private String msg; public String getMsg()
{
return msg;
} public void setMsg(String msg)
{
this.msg = msg;
} public UserManger getUsermanager()
{
return usermanager;
} public void setUsermanager(UserManger usermanager)
{
this.usermanager = usermanager;
} public String getUsername()
{
return username;
} public void setUsername(String username)
{
this.username = username;
} @Override
public String execute() throws Exception
{
System.out.println("进入rv:" + username);
if (usermanager.vUser(username))
{
msg="username exist!";
System.out.println(msg);
return SUCCESS;
}
else
{
if ("".equals(username))
{
msg="username null!";
System.out.println(msg);
}
else
{
msg="username ok";
System.out.println(msg);
}
return SUCCESS;
}
}
}相应的xml配置:
</package>
<package name="ajax" extends="json-default">
<action name="rv" class="com.niit.action.RegisterValidate">
<result type="json"></result>
<param name="root">msg</param>
</action>
</package>其中usermanager.vUser(username)没有问题,因为可以输出"username ok",但就是不执行 alert(data);
<package name="ajax" extends="json-default">
<action name="rv" class="com.niit.action.RegisterValidate">
<result type="json"></result>
<param name="root">msg</param>
</action>
</package>你不觉得奇怪么
这个应该是取msg的值吧如果是的话改成
<param name="root">${msg}</param>