struts2验证需要注意的事项

在使用SSH框架并结合Spring管理Action时,若第一次提交验证失败后,后续正确提交仍无法通过验证,原因是注入的Action为singleton类型。解决方法之一是将Action注入改为prototype类型,确保每次访问都创建新的实例;另一种方法是在表单中增加validate属性为true,以重新执行验证流程。原因仍在深入探讨中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果使用SSH框架,把Action托付给Spring来管理,在第一次提交验证失败之后,即使提交正确数据也无法通过验证,

原因是spring注入的Action都是sington的。

解决方法一:需要把注入的Action改成scope="prototype",

(举例:<bean id="SshFlowAction" class="lcz.test.java2excel.action.SshFlowAction" scope="prototype"></bean>)

这样每次访问Action,就创建一个新的Action。但是这样很麻烦,当然,至少有一个解决方法。

解决方法二:在提交的表单中增加validate="true",

(举例:<s:form action="login" validate="true" method="post">  )

这样就OK了。至于原因,正在思考中。。。。。。

有知道原因者,请不吝赐教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值