首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Struts2 動作映射找不到:There is no Action mapped for namespace / and action name AAction

     編輯:程式設計疑難解答

點擊「管理員信息管理」鏈接報錯: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 映射問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved