首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

Struts2 用户验证 提示一直增长?该怎么解决

2012-03-30 
Struts2 用户验证 提示一直增长?Java:Java codepublic void validate() {// TODO Auto-generated method s

Struts2 用户验证 提示一直增长?
Java:

Java code
    public void validate() {        // TODO Auto-generated method stub        if(null == user.getUserid() || "".equals(user.getUserid().trim()));        {            addFieldError("userid","用户不为空");        }        if(null == user.getPassword() || "".equals(user.getPassword().trim()));        {            addFieldError("password","密码不为空");        }    }


Jsp:
HTML code
<s:form action="Login">              <s:textfield name="userid" label="用户名"></s:textfield>              <s:password name="password" label="密码"></s:password>            <s:submit value="登录" />          </s:form>



为什么多次点击登陆后,"用户名不为空"和"密码不为空"一直增长??怎么让它只显示一次



errors {userid=[用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空, 用户不为空], password=[密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空, 密码不为空]}

[解决办法]
探讨
引用:
因为你访问一次action,就会校验一次, 那么那个addFieldError就会执行一遍.!


嗯,那为什么会多次执行,里面的校验提示会一直增加?

比如,第一次提交,提示:"密码为空"

第二次再点提交,提示两个密码为空:"密码为空","密码为空"

...

[解决办法]
我提交三四次!


很显然提示信息并没有重复如下图!




下面是console输出来的信息 !


我是Action我在初始化
我是Action我在初始化
我是Action我在初始化



代码如下:

Java code
package com.ty.actions;import com.opensymphony.xwork2.ActionSupport;import com.ty.beans.User;public class LoginAction extends ActionSupport {    private User user;    public User getUser() {        return user;    }    public LoginAction() {        System.out.println("我是Action我在初始化");    }    public void setUser(User user) {        this.user = user;    }    public String execute() throws Exception {        return "success";    }    @Override    public void validate() {        User user = getUser();        String name = null;        String pass = null;        if (user != null) {            name = user.getName();            pass = user.getPassword();            if (name != null && name.equals("")) {                addFieldError("error", "name.error");            }        }        addFieldError("error", "error");    }} 

热点排行