使用模型传值时使用Struts2中用validate方法方法校验。
我想用Struts2中的validate方法写一个注册页面的校验,但是我在定义属性的时候,把他们都封装成了一个User类
(不用封装的话可以实现)
我在User中不能用validate方法来实现校验,提示信息说确实regist()方法
不知道下面的咋写了,
请高手帮忙指点一下啊。
还有xml里面该如何配置呢。
谢谢了。
程序代码:
package com.scetop.teststruts2.action; import java.util.regex.Pattern; import com.opensymphony.xwork2.ActionSupport; import com.scetop.teststruts2.vo.SysUser; import com.scetop.testsutruts2.model.business.UserBusiness; public class UserAction extends ActionSupport { private SysUser user; public SysUser getUser() { return user; } public void setUser(SysUser user) { this.user = user; } public String login() { UserBusiness userb = new UserBusiness(); if (userb.loginValidate(user.getUsername(), user.getPassword()) > 0) { return "loginsuc"; } else { addFieldError("errmsg", "登录错误!"); return "loginfail"; } } public String register() { UserBusiness userb = new UserBusiness(); //数据库 public void validate(){ if(user.getusername.equals("")){ addFieldError("username","必须输入用户名!"); }else if(!Pattern.matches("\\w{4,15}",user.getusername)){ addFieldError("username","用户名必须是字母和数字的组合且长度在(4-15 )范围内!"); } } }