Struts2中Action動態呼叫DMI出現的一個問題
在學習struts.xml檔案關鍵元素分析的時候,在測試Action的動態呼叫例子時,在開發者介面出現了一個沒有對映到名稱空間的錯誤,搜尋了幾篇文章,大多數都是對struts.xml檔案命名是否出錯,路徑是否正確等這些的確認(比如struts.xml檔案要在src目錄下,還有一個是更改eclipse web 專案預設編譯輸出路徑到WEB-INF下),但是發現自己的專案工程中並未出現這種錯誤。
最後發現,我用的struts2版本為2.3.34,在Struts2.3.x或更高的某些版本時出現There is no Action mapped for namespace [/user] and action name [user!add] associated with context path錯誤,原因有兩個:一是DMI可能導致安全問題;二是DMI與萬用字元方法功能有重疊,因此該版本Struts2預設關閉DMI。
那解決方法只需要在struts.xml中加一句<constant name="struts.enable.DynamicMethodInvocation" value="true" /> 來開啟動態方法呼叫。
動態方法呼叫官方推薦的做法是,使用萬用字元的形式。不要使用actionName!methodName的方式。
這裡感謝一下hrhacmer的總結文章:http://blog.csdn.net/roney_win/article/details/46575205
相關文章
- 問一個動態物件的問題物件
- Struts2 動態方法呼叫(十三)
- 簡單理解Struts2 action中動態方法及萬用字元字元
- 發現 postman 自動生成介面呼叫程式碼的一個問題Postman
- 問一個關於SSH整合是在action中應用session的問題Session
- servlet 呼叫jdbc 出現得問題ServletJDBC
- 另外一個類/變數動態訪問的問題變數
- 一個關於SessionBean呼叫的問題。SessionBean
- 在jsp中呼叫一個簡單工廠的問題JS
- 007--在Struts2的Action中訪問Servlet API三種形式ServletAPI
- (三)struts2進階之實現Action
- Mybatis order by 動態傳參出現的一個小bugMyBatis
- struts2 action中result引數詳解
- Struts2教程之三Action訪問方式
- struts2的異常There is no Action mapped for namespace / and action nameAPPnamespace
- 一個JAVA程式呼叫外部程式的問題!(急)Java
- 一個關於值傳遞呼叫的問題
- vue中呼叫問題Vue
- Struts2 中jsp直接跳轉到actionJS
- Laravel 如何實現既能靜態呼叫,又能動態呼叫Laravel
- ubuntu20 crontab出現了一個問題Ubuntu
- 狀態模式中迴圈呼叫子元件時遇到的問題模式元件
- structs中從action返回頁面的問題!Struct
- 關於Action中的setAttribute,和session的問題!!!!Session
- 在同一個類中呼叫另一個方法沒有觸發 Spring AOP 的問題Spring
- VS中呼叫DLL動態庫的方法
- Bootstrap 模態框無法呼叫的問題boot
- 05. struts2中為Action屬性注入值
- 動態invoke的問題?
- Gateway過濾器中呼叫OpenFeign時出現迴圈依賴問題Gateway過濾器
- Python中動態類和動態方法的建立與呼叫Python
- Cookie出現兩個同名Key的問題Cookie
- 關於action的error問題Error
- iOS 關於側邊欄模態出VC出現的問題iOS
- CreateDialog Win32 API呼叫的一個小問題Win32API
- 關於struts2 action中map型別屬性的對映型別
- Ruby如何實現動態方法呼叫
- 請教個動態報表設計的問題