Struts2升级 配置修改

因为struts2 2.3.15.1版本存在bug,需要升级至struts2 2.3.16.1版本,测试时候,却发现功能报错。

动态方法调用失败,找不到对应的action映射。

能够肯定的是代码本身没有问题,于是查找配置文件,猜测是不同版本的某些全局变量的默认值不同。

果然不出所料,struts2-core-2.3.15.1是以下配置

### Set this to false if you wish to disable implicit dynamic method invocation
### via the URL request. This includes URLs like foo!bar.action, as well as params
### like method:bar (but not action:foo).
### An alternative to implicit dynamic method invocation is to use wildcard
### mappings, such as <action name="*/*" method="{2}" class="actions.{1}">
struts.enable.DynamicMethodInvocation = true

struts2-core-2.3.16.1是以下配置

### Set this to false if you wish to disable implicit dynamic method invocation
### via the URL request. This includes URLs like foo!bar.action, as well as params
### like method:bar (but not action:foo).
### An alternative to implicit dynamic method invocation is to use wildcard
### mappings, such as <action name="*/*" method="{2}" class="actions.{1}">
struts.enable.DynamicMethodInvocation = false

需要修改全局参数,以支持动态方法调用。


后续思考:

由此也说明,动态方法调用在将来的某个版本中,有可能会被废弃。

建议新项目不要启用动态方法调用,而使用通配符来实现类似功能。


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值