zheng__dian
zheng__dian
2011-08-07 08:17

struts与jquery结合,验证邮箱是否存在,不知道哪里错了,大家帮忙看看吧

已采纳

[size=medium] SSH框架,struts用的1.2。一个注册时验证邮箱是否存在的问题,我用的jquery框架的validate插件来验证的,用到了remote函数,它的url我写的是:"/register.do?method=CheckName",不过不知怎的好像传不过去,进行调试的时候没有反应 。我在action中用request.getParameter和 response.getWriter().write()来返回处理信息,不知道这样行不。具体见下面代码

这是js:

$("form").validate({

rules: { password: {
required: true,
minlength: 5
},
repassword: {
required: true,
minlength: 5,
equalTo: "#password"
},
email: {
required: true,
email: true,
remote:{
[color=red]url:"/register.do?method=CheckEmail", [/color]
type:"post",
data:{
email:function(){return$("#email").val();}
}
}
},

});

这是action:
public class RegisterAction extends DispatchAction {

userDAO userDAOImpl;

public userDAO getUserDAOImpl() {
return userDAOImpl;
}

public void setUserDAOImpl(userDAO userDAOImpl) {
this.userDAOImpl = userDAOImpl;
}

//检测用户名是否存在
public ActionForward CheckEmail(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
response.reset();
response.setContentType("text/html;charset=UTF-8");
[color=red]String email = request.getParameter("email");
try{
boolean result=userDAOImpl.isvalueble(email);
String canreg = result==true ? "true" : "false";
response.getWriter().write(canreg);

}[/color]
catch(Exception ex){
ex.printStackTrace();

}

return null;
}
}

这是struts.xml:
attribute="registerForm"
input="/register.jsp"
name="registerForm"
path="/register"
scope="request"
parameter="method"
type="org.springframework.web.struts.DelegatingActionProxy" >

[/size]

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

6条回答

  • iteye_4734 iteye_4734 10年前

    你先在调用的方法中打个断点,看看要调用的方法执行了没有。如果没有执行,那就是remote请求有问题。你看一看jquery验证框架是不是使用正确了。如果使用方法正确,那就是路径问题。Lz好好检查一下吧。

    点赞 评论 复制链接分享
  • myali88 myali88 10年前

    你struts 1.2和spring的集成是否没有问题了?

    点赞 评论 复制链接分享
  • redstarofsleep redstarofsleep 10年前

    不是只有提交表单才触发的,Ajax也可以触发的
    你把url写成这样试试
    [code="java"]
    <%=request.getContentPath()%>/register.do?method=CheckName
    [/code]

    Spring的bean不需要/开头
    [code="xml"]





    [/code]

    点赞 评论 复制链接分享
  • redstarofsleep redstarofsleep 10年前

    url是不是有问题呢?把/去掉看看

    点赞 评论 复制链接分享
  • myali88 myali88 10年前

    [quote]不过不知怎的好像传不过去,进行调试的时候没有反应 [/quote]
    什么意思?验证请求没有发送到服务器端,没有调用相应的Action方法?

    点赞 评论 复制链接分享
  • blueram blueram 10年前

    web程序的调试我是这样来的
    1、html页面调用了js的函数,首先确认是否调用了该函数,可以用alert()测试。
    2、前后台交互的操作,你可以使用firefox的firebug或者ie的httpwatch来查看你的
    请求是否触发,还可以检查参数时候正确

    点赞 评论 复制链接分享

相关推荐