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

来源:互联网 发布:寒战2 知乎 编辑:程序博客网 时间:2024/06/05 19:40

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>

如:


阅读全文
1 0
原创粉丝点击