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配置是否正确
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!