struts2从2.0升到2.3.37版本时遇到的坑(升级前功能均正常,升级后产生的问题)

本文主要探讨Struts2框架升级后遇到的问题,包括类找不到、redirect-action调整、属性展示限制及required标签变更。特别指出,当对象属性第二个字母为大写时,Struts2无法正确映射set方法,导致数据无法绑定。解决方案是使用getter方法或调整属性名称。此外,required标签需要替换为requiredLabel来控制必填项。

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

此文解决的是升级后的后遗症解决,如何升级,这个到处可以搜到,文章不做赘述,后遗症中重点是第三项

1、找不到某个类,但是类确实存在,最后发现原来是action name和jsp内的form 的action不一致

2、redirect-action 需要变为redirectAction

3、

当使用struts2 <s:property 字段展示数据时,对象的属性的第二个字母不能是大写(测试得出的结论),比如account.vPassword ,需要使用account.getVPassword()就可以了
2021年3月30日碰到<s:textfield key="account.vPassword" 提交action时,action获取不到对象属性,经测试发现,对象的属性的第二个字母不能是大写(测试得出的结论),最后发现改为<s:textfield key="account.VPassword"
即如果对象属性的第二个字母是大写,那么set方法有问题,映射不到setVPassword(),而是setVpassword(),与对象产生的方法setVPassword()不符,所以获取不到
这样也就解释了account.vPassword ,需要使用account.getVPassword()就可以的问题,如果需要get,那么应该是account.VPassword,经测试验证通过

 

4、required需要变更为requiredLabel,控制是否必填

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值