我正在使用最新的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和action errorMessage,它将转发给detailsAction。 在先前版本的struts(2.1)中,动作消息显示在jsp中。 但升级到struts 2.3.12版本后,动作消息和动作错误都没有进入jsp。
答案 0 :(得分: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