[英]Struts2 prepare method can not be handled
當我使用implements Preparable
和重寫prepare()
方法時,如果在准備過程中遇到任何問題,我會使用com.opensymphony.xwork2.ActionSupport addActionError
設置操作錯誤。
在prepare方法設置了錯誤消息之后,我想在實際的initialize方法中處理此消息。
public class TestClass implements Preparable {
public void prepare() {
// ...
if (error) {
addActionError("error");
}
}
public String initializeAndDo() {
String target = ERROR;
// ...
return target;
}
}
當我調試它時,它永遠不會到達initiliazeAndDo
方法並自動返回INPUT。
struts.xml:操作塊中沒有攔截器。
<action name="action_name" method="initializAndDo" class="TestClass">
<result name="input">/pages/input.jsp</result>
<result name="error">/pages/error.jsp</result>
</action>
有什么主意嗎
當然; 這是正常現象。
如果有錯誤, "workflow"
攔截器將看到該錯誤,並轉發到"input"
結果。
如果您不想中斷(非標准)工作流程,請不要在prepare()
方法中設置錯誤。 一種替代方法是在prepare()
中設置一個可以在initializeAndDo
方法中檢查的標志-這樣可以防止"workflow"
使請求短路。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.