注册 登录
编程论坛 J2EE论坛

使用模型传值时使用Struts2中用validate方法方法校验。

landawn 发布于 2011-04-07 21:41, 651 次点击
我想用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

)范围内!");
        }
    }
   
}




1 回复
#2
HarrisonWang2011-04-07 22:48
你用user.getProperty(username)取出用户名再做判断不就行了?
你确认JSP界面表单元素的名字叫“user.属性名”?
1