Struts2版本2.5之后关于通配符找不到某些method的解决方法

struts2从2.5版本开始,为了提升安全性,默认开启了严格的方法调用。

在struts2-core-2.5.*.jar中我们可以找到配置文件struts-default.xml,

首先请看:



而我们在自己的struts.xml中创建的package都是继承自struts-default,既默认设置有 strict-method-invocation="true" 。那么它有什么用呢?我们继续来看它的配置文件:



有一个<global-allowed-methods>属性,全局允许方法,所以在严格方法调用的情况下,它默认允许通过的只能是和上图相同方法名的方法。可以说,该属性的作用是指定可被调用的方法 。


总结:

因此想要使action调用其它方法有两种解决方法

(1)将strict-method-invocation 设置成 false,取消严格的方法调用。

(2)新加属性<global-allowed-methods>所使用的方法</global-allowed-methods>

如:


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值