升级Struts2.5后使用DMI动态方法调用遇到问题
生活随笔
收集整理的這篇文章主要介紹了
升级Struts2.5后使用DMI动态方法调用遇到问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉自:http://www.lvhongqiang.com/blog429.html
問題:
升級Struts2.5后使用DMI動態方法調用報錯,method 找不到。
源碼:
struts.xml
分析:
目前情況:
json_record_list.action訪問不會報錯。
json_record_query.action訪問報錯。
調用Action中list方法時并沒有報錯,隨后調用query方法時報錯,問題鎖定方法名。改為隨意字符串abcdeq之類方法名都會報錯,就是說只有特定方法名才可以。所以懷疑struts某處有關于方法名的默認設置。百度后得知Struts2.5新增了allowed-methods配置,只有被允許的方法名才可以動態調用。
解決辦法:
在配置文件struts.xml中添加:<global-allowed-methods>regex:.*</global-allowed-methods>
或者在某一action內添加<allowed-methods>regex:.*</allowed-methods>
注解方式:
在 action 上使用?@AllowedMethods?注解
默認的設置:
附:全局設置是增量而不是覆蓋的,支持正則和直接匹配方法
轉載于:https://www.cnblogs.com/lhq1/p/6231255.html
總結
以上是生活随笔為你收集整理的升级Struts2.5后使用DMI动态方法调用遇到问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++中没有定义类的引用。
- 下一篇: Codevs 1025 选菜