struts.xml 是 Struts 2 應用的主要業務配置文件,承載 Action 映射、攔截器棧、結果類型、視圖解析等核心配置。文件必須置於 src/ 根目錄,編譯後進入 classes/ 供框架加載。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"https://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="ch01" extends="struts-default">
<action name="Hello" class="com.kingbegin.web.HelloAction">
<result>/HelloWorld.jsp</result>
</action>
<!-- 更多 action 配置 -->
</package>
</struts>
整個配置文件的唯一根節點,包含一個或多個 <package>。
<package name="ch01" extends="struts-default">
struts-default 定義於 struts-default.xml,提供框架基礎設施result-types、interceptors、action 等<action name="Hello" class="com.kingbegin.web.HelloAction">
/Hello.action(結合 struts.action.extension)class 時默認為 ActionSupport<result>/HelloWorld.jsp</result>
dispatcher(轉發到 JSP)name 屬性指定結果名稱(默認 success),對應 Action 返回字符串<result name="input">/error.jsp</result><action name="*User" class="com.example.{1}UserAction"/><action name="User" class="com.example.UserAction" method="{1}"/> 配合 !{method} 語法<package namespace="/admin"> 實現 URL 分層/ 開頭,表示相對 Web 根目錄