兩個 Action 類代碼、配置幾乎相同(僅類名不同),一個正常訪問,另一個報錯 No result defined for action... 或 404。
在 struts.xml 中引入多個包配置文件時:
<package name="default" namespace="/" extends="struts-default"> ... </package>
<package name="default" namespace="/user" extends="struts-default"> ... </package> <!-- name 重複! -->
Struts2 要求每個 <package> 的 name 屬性在整個應用中唯一。重複 name 導致後載入的包覆蓋先前包的 Action 映射,引發路由錯誤。
<package name="user_module" namespace="/user" extends="struts-default"> ... </package>
<package name="admin_module" namespace="/admin" extends="struts-default"> ... </package>
name 建議使用模塊名,namespace 對應 URL 前綴。
<include file="struts-user.xml"/> 引入。name="模塊名_module",namespace="/模塊名"。name="default",易衝突。