There is no Action mapped for namespace [/] and action name [user!add] associated with context path [/input].
Struts2 約定:URL 格式為 /namespace/actionName.action (或無後綴)。錯誤中 action name [user!add] 表明請求 URL 為 /user!add,但 struts.xml 中未正確映射。
package 的 namespace 屬性缺失或不匹配 (默認 /)。action 的 name 屬性寫為 user,但請求用了 user!add (動態方法調用),需在 action 配置 method="{1}" 或使用通配符。struts.xml 啟用或配置 action name="user*" method="{1}"。<package name="default" namespace="/" extends="struts-default">
<!-- 方式1: 通配符映射 user!add -> add 方法 -->
<action name="user*" class="com.wxh.action.UserAction" method="{1}">
<result name="success">/success.jsp</result>
</action>
<!-- 方式2: 顯式定義每個 action -->
<action name="userAdd" class="com.wxh.action.UserAction" method="add">
<result name="success">/success.jsp</result>
</action>
</package>
瀏覽器訪問 https://host:port/input/user!add (方式1) 或 /input/userAdd (方式2) 應正常進入 add() 方法。