struts2跳转后总是会返回input
遇到一奇葩问题,Action在设置为prototype的情况下,竟然还是跳转到input视图,原因是我验证时候字输入错误
对这个问题,有人说struts2的验证很恶心,事实上还是蛮好用的。
在各种配置正确的情况下,加上<bean scope=”prototype” >就可以了。
这篇文章主要说一下我对input,validate()验证的体会。
<package namespace=”/jsp” extends=”struts-default”> <action method=”execute”> <result>/jsp/user_login.jsp</result> <result>/jsp/user_reg.jsp</result> <result>/jsp/input.jsp</result> <!–<result>/jsp/user_reg.jsp</result>–>
</action></package>
当验证出错时,如果配置为/jsp/input.jsp,则显示对应页面的字符串(不会显示验证字符串:”如xxx没有填写”)
只有到对应的验证页面/jsp/user_reg.jsp时候,才会输出
所以:struts2页面请求action的时候,会先validate()验证,有错则跳转到input,否则该干嘛干嘛。
我出现这个问题的时候是因为
原本我写的是if(getId()==null || “”.equals(this.getUserid().trim())){…..
而我User类没有id属性,只有userid属性,我说这个,是想说,只要配置正确,美国空间,字段属性没有导致validate()方法出错,就能正常。
需要注意的:1.设置prototype属性
2.检查validate()方法是否正确
3.页面提交的action路径对了吗,香港服务器租用,香港服务器租用,struts.xml配置是否正确
posted on
打掉的应是脆弱的铁屑,锻成的将是锋利的钢刀。