[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]