在我的TestClass操作中,我使用addActionError方法设置操作错误。我在struts.xml中定义了一个动作,如下所示
<action name="TestAction" class="TestClass">
<result name="input">/jsp/test.jsp</result>
<result name="error" type="httpheader">
<param name="error">409</param>
<param name="errorMessage">${SOME-EXPRESSION}</param>
</result>
</action>
目的是让错误消息显示使用addActionError添加的内容。根据org.apache.struts2.dispatcher.HttpHeaderResult文档,我应该能够在errorMessage参数中使用Ognl表达式。
那么,是否有可能用$ {SOME-EXPRESSION}代替在这种情况下引用actionerror。(我尝试了$ {actionerror}但它没有用)
我知道我可以通过在action类中声明我自己的字段(例如“errorText”)并使用在param标记内使用$ {errorText}引用它的addActionError的insteda来解决这个问题。但在我走这条路之前,我想确保这是唯一的方法。
答案 0 :(得分:1)
操作错误存储在列表中,因此您必须显示类似$ {actionErrors [0]}的内容。但请记住,这只会显示您第一次添加的错误,而不是使用addActionError包含的所有错误。