struts2 DMI 不起作用的原因

初学struts,在学习动态方法调用的时候,写的链接为<a href="user/user!add">添加学生</a>

但是在点击链接时,出现下面这样的错误提示信息:

There is no Action mapped for namespace [/user] and action name [user!add] associated with context path [/Struts2_050_ActionMethod]


查了文档才知道,原来struts2出于两方面的考虑,对DMI可以选择enable和disable:1)DMI可能导致安全问题;2)DMI与通配符方法功能有重叠。

但是默认情况下,DMI是enable的。

仔细看了下我的配置文件,发现原来拷贝其他文件时,多拷贝了这么一句话

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

这句话就将DMI设置成了disable了。


删除这句话,或者把value改成“true”,就能得到正常想要的结果了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章