2010-01-29 17 views
1

在我的TestClass操作中,我使用addActionError方法設置了一個操作錯誤。我有如下從httpheader導致struts.xml中引用actionerror

<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加入錯誤消息顯示在struts.xml中定義的動作。根據org.apache.struts2.dispatcher.HttpHeaderResult文檔,我應該能夠在errorMessage參數中使用Ognl表達式。

那麼,是不是可以把東西代替$ {SOME表達式衝將在此情景標準actionerror。(我試過$ {} actionerror,但它沒有工作)

我知道,我可以通過在動作類中聲明自己的字段(例如「errorText」)並使用param標記內的$ {errorText}引用addActionError的insteda來解決此問題。但在我走這條路之前,要確保這是唯一的方法。

回答

1

動作錯誤存儲在列表中,因此您必須顯示類似$ {actionErrors [0]}的內容。但請記住,它只會顯示您的第一個添加的錯誤,而不是您使用addActionError包含的所有錯誤。

+0

謝謝!正是我在找什麼 – 2010-02-03 20:59:50