在线等 struts +ajax+jquery 注册时异步验证问题 jsp得 不到后台的语句,急。。。。。。。。

dragon20121114 2012-11-20 12:33:19
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);
...全文
188 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kaydan 2012-11-21
  • 打赏
  • 举报
回复
<result name="success" type="json"></result>
dragon20121114 2012-11-21
  • 打赏
  • 举报
回复
还是不行啊。。。
dragon20121114 2012-11-20
  • 打赏
  • 举报
回复
我改过了 还是不起作用啊
suciver 2012-11-20
  • 打赏
  • 举报
回复
<param name="root">msg</param> 这个应该是取msg的值吧如果是的话改成 <param name="root">${msg}</param>
dragon20121114 2012-11-20
  • 打赏
  • 举报
回复
我感觉没什么问题呀 不配置默认就是SUCCESS啊 如果不对 该怎么改呢?
yjflinchong 2012-11-20
  • 打赏
  • 举报
回复
你反回的是 return SUCCESS; 这个 配置却是这样 <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> 你不觉得奇怪么

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧