Action A 返回 chain 結果跳轉到 Action B,需將 A 中的字段映射到 B 的不同字段名。
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<package name="default" extends="struts-default">
<action name="XXX" class="XXXAction">
<result name="success">/ok.jsp</result>
<result name="input" type="chain">
<param name="actionName">input_error</param>
</result>
</action>
<action name="input_error" class="InputErrorAction">
<!-- 別名映射:將 error_status→status, error_desc→desc -->
<param name="aliases">#{'error_status':'status','error_desc':'desc'}</param>
</action>
</package>
chain 結果類型在服務端內部轉發,保持同一請求上下文。alias 攔截器攔截參數,按 aliases Map 重命名後注入目標 Action。setStatus/setDesc 方法。chain 僅適用於同一應用內 Action 跳轉;跨應用需用 redirectAction。ActionChainResult 類名配置。alias 攔截器配合 chain 結果,優雅解決 Action 鏈中字段名不一致的參數傳遞問題。