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

struts2的validate方法使用有关问题

2012-04-04 
struts2的validate方法使用问题index.jsp:HTML codebodys:fielderror/s:fielderrors:form action

struts2的validate方法使用问题
index.jsp:

HTML code
  <body>      <s:fielderror></s:fielderror>    <s:form action="loginAction" namespace="/login" method="post" name="loginform">        <s:textfield name="vo.username"></s:textfield> <br />        <s:password name="vo.password"></s:password> <br />        <s:submit value="登陆"></s:submit>    </s:form>  </body>


Action:
Java code
    public void validate() {        String username = vo.getUsername();        String password = vo.getPassword();        [color=#FF0000]System.out.println(username);[/color]//第二次提交时能接收到数据,可还是返回了input        [color=#FF0000]System.out.println(password);[/color]        if(username==null || username.trim().length()==0) {            this.addFieldError("vo.username", "用户名不能为空");        }        if(password==null || password.trim().length()==0) {            this.addFieldError("vo.password", "密码不能为空");        }    }


现在的问题是
第一次提交,没填写用户名密码,流程走到validate方法,执行addFieldError,返回input(input对应的页面就是index.jsp)
返回到index.jsp页面,然后我填写了用户名密码,提交,程序走到validate方法时,能打印出username/password,说明有数据,可依然反回了input,这是怎么回事?

[解决办法]
如果验证通过,试下把FieldError清空下。

再就是检查一下Struts.xml文件,正确配置了Result了没。。

在validate()方法的第一条语句加个断点,调试下。

热点排行