struts2跳转后总是会返回input

遇到一奇葩问题,Action在设置为prototype的情况下,竟然还是跳转到input视图,原因是我验证时候字输入错误

对这个问题,有人说struts2的验证很恶心,事实上还是蛮好用的。

在各种配置正确的情况下,加上<bean id="regAction" class="cn.love.action.UserRegAction" scope="prototype" >就可以了。

 

这篇文章主要说一下我对input,validate()验证的体会。

<package name="user" namespace="/jsp" extends="struts-default">
    <action name="reg"  class="regAction" method="execute">
       <result name="success">/jsp/user_login.jsp</result>
       <result name="error">/jsp/user_reg.jsp</result>
       <result name="input">/jsp/input.jsp</result>    <!--<result name="input">/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配置是否正确

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值