簡體   English   中英

Struts2的准備方法無法處理

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM