1

我正在使用最新的 struts 2.3.12 版本。

我的struts.xml

<action name="*ContractorDetail" class="waid.config.contractor.ContractorDetailAction" method="{1}">
            <result name="ContractorDetailScreen" type="tiles">ShowContractorDetailScreen</result>

            <result type="chain" name="success">
               <param name="actionName">ContractorSummary</param>
               <param name="namespace">/app</param>
            </result>
            <result name="input" type="redirectAction">
                <param name="actionName">ContractorSummary</param>
                <param name="namespace">/app</param>
            </result>
            <result name="error" type="redirectAction">
                <param name="actionName">ContractorSummary</param>
                <param name="namespace">/app</param>
            </result>
            <result name="deleteDependency" type="chain">
                <param name="actionName">ContractorSummary</param>
                <param name="namespace">/app</param>
            </result>
        </action>
        <action name="*ContractorSubmit" class="waid.config.contractor.ContractorSubmitAction" method="{1}">

            <result type="chain" name="success">
               <param name="actionName">modifyContractorDetail</param>
               <param name="namespace">/app</param>
            </result>
            <result name="error" type="tiles">ShowContractorDetailScreen</result>
            <result name="input" type="tiles">ShowContractorDetailScreen</result>
        </action>

在我的提交操作中,我设置了 actionMessage 和操作 errorMessage,它们将转发到 detailsAction。在以前版本的 struts(2.1) 中,动作消息显示在 jsp 中。但是在升级到 struts 2.3.12 版本之后,动作消息和动作错误都没有出现在 jsp 中。

4

1 回答 1

4

尝试在 struts.xml 中添加这些行以恢复原始行为

<constant name="struts.xwork.chaining.copyErrors" value="true"/>
<constant name="struts.xwork.chaining.copyFieldErrors" value="true"/>
<constant name="struts.xwork.chaining.copyMessages" value="true"/>

我从这里获取了解决方案:http: //struts.apache.org/release/2.3.x/docs/chaining-interceptor.html

于 2014-02-26T15:02:30.187 回答