2011-01-06 73 views
1

我正在Struts中創建一個嚮導。 它cotains 4個步驟。 每一步我都單獨ActionClass說: -Struts中的嚮導窗體

  • Step1Action.java
  • Step2Action.java
  • Step3Action.java
  • Step4Action.java

,並在每一類有2種方法input() and process()

  • 輸入()方法是用於示出
  • 過程()方法是將使用用於處理提交的數據(如果驗證是確定)

在輸入模式中的頁面我將所有數據都帶到會議的最後一步。而在最後一步保存所有的人都在數據庫

Similaly 4動作標籤像struts.xml中: -

<action name="step1" class="com.mycomp.myapp.action.Step1Action1" method="input">      
     <result name="success" type="redirectAction">step2</result> 
     <result name="input">/view/step1.jsp</result>  
    </action> 

    <action name="step2" class="com.mycomp.myapp.action.Step1Action2" method="input">      
     <result name="success" type="redirectAction">step3</result> 
     <result name="input">/view/step2.jsp</result>  
    </action> 

但我認爲,我錯了。請告訴我我將如何處理這種情況?

+0

什麼是錯的詳細信息的攔截器?爲什麼你使用redirectAction而不是返回一個正確的動作的字符串? – fmucar 2011-01-06 12:01:51

+0

我想重定向到step2如果step1是好的 – 2011-01-06 12:15:19

回答

2

這裏有一些概念錯誤 - 概念錯誤在嚮導場景之前。

首先,Struts2操作不應該(通常)有一個「輸入」方法。 Struts2操作應該代表客戶端請求(URL)執行SOMETHING(method),並返回一個RESULT(字符串),它返回一個新的VIEW(jsp頁面)給客戶端。

「輸入」是(通常情況下)只是與案例相對應的結果「由於輸入的數據不完整或無效,我無法做我(行動)應該做的事情,讓我們告訴用戶嘗試再輸入數據「

在嘗試嚮導之前,您應該確保瞭解最簡單的用例(帶結果消息的典型輸入表單)。請參閱here