struts2动态方法无法调用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2动态方法无法调用相关的知识,希望对你有一定的参考价值。

struts2 大约2.3版本以后,调用动态方法会产生类似下面的错误

:Unable to instantiate Action, top.juson.study.action.Action2!eat, defined for ‘action2!eat‘ in namespace ‘/‘top.juson.study.action.Action2!eat

 

技术分享

 

其中的defined for ‘action2!eat‘ 说明这里没有把eat正常的解析为方法,而是和前面的action一起解析成了方法,

原因是Struts为了安全考虑,默认把动态方法的功能关闭了,

如果需要使用,需要在Struts配置文件struts.xml中加入:

<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

指定打开动态方法功能,如下图:

技术分享

笔者所用Struts版本为2.3

以上是关于struts2动态方法无法调用的主要内容,如果未能解决你的问题,请参考以下文章

Struts2 动态调用方法

Struts2学习四----------动态方法调用

struts2笔记09-动态方法调用

Struts2学习第七课 动态方法调用

Struts2 动态方法调用

Struts2中动态方法调用