點擊「管理員信息管理」鏈接報錯:There is no Action mapped for namespace / and action name AAction,而其他 Action 正常。
struts.xml 中多個 package 未區分 namespace,導致同名 Action 衝突或無法匹配。Struts2 按 namespace + actionName 查找,若缺省 namespace 為 /,且有多個 package 定義相同 action,會產生歧義。
為每個 package 分配唯一 namespace:
<package name="admin" namespace="/admin" extends="struts-default">
<action name="AAction" class="com.xxx.AAction">
<result>/admin/manager.jsp</result>
</action>
</package>
<package name="user" namespace="/user" extends="struts-default">
...
</package>
頁面鏈接相應修改:<a href="admin/AAction">管理員信息管理</a>。
規範 namespace 能避免 90% 的 Action 映射問題。