2011-11-07 22 views
2

私のプロジェクトではstruts2を使用していますが、検証フレームワークを使用せず、ActionメソッドはActionクラスの "input"を返しません。ここに私の設定スニペット、ここでstruts2検証フレームワークは結果入力が必要です

<action name="searchTracker" class="searchAction" method="searchTracker"> 
     <result name="success">/jsp/searchTracker.jsp</result> 
     <result name="error">/jsp/searchTracker.jsp</result> 
     <result name="input">/jsp/searchTracker.jsp</result> 
    </action> 

は、私は、入力結果を削除した場合、それはこの

 "No result defined for action SearchTrackerAction and result input" 

のように、例外がスローされますと、私は戻ってチェックすると、アクションクラス

public String searchTracker(){ 

    this.clearErrorsAndMessages(); 

    List<File> files = fileManager.retrieveFiles(patchNumBySearch); 
    if(files == null){ 
     this.setTrackers(null); 
     addActionError("This patch number doesn't exist. Please choose another one !"); 
     return ERROR; 
    } else { 
     if (files.size() == 0) { 
      addActionError("This patch doesn't include any tracker. Please create tracker or choose another patch"); 
      return ERROR; 
      } 
     else { 
      List<Tracker> trackers = commonUtils.convertToTrackers(files); 
      this.setTrackers(trackers); 
     } 
    } 
     return SUCCESS; 
} 

されています終了ログ、 "2011-11-07 00:09:13,841 DEBUG

com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.debug:68 - Errors on action [email protected], returning result name 'input'" 

なぜDefaultWorkflowInterceptorを呼び出し、結果名の入力を返すのですか?

入力結果を設定に戻すと、例外はなくなります。しかし、アクションが最初にエラーになる場合、私はブレークポイントを設定しても、それは再び成功することはありません、それはそのメソッドsearchTracker()に行くことはありません。

答えて

2

これは型変換エラーによっても発生する可能性があります。あなたが送っているものについてもっと知ることなく、それを助けるのは難しいです。

「ワークフロー」インターセプタを削除すると、S2はアクションのエラーのチェックを停止します。型変換インターセプタも削除する必要がありますが、ワークフローで十分です。バリデーションを使用していない場合は、そのインターセプタも削除することができます。

+0

Daveさん、ワークフローインターセプタを削除するにはどうすればよいですか? – user1006080

+0

@ user1006080あなた自身の[インターセプタスタック](http://struts.apache.org/2.x/docs/interceptor-configuration.html)を定義し、これをデフォルトのスタックとして使用する必要があります。私は 'defaultStack'をコピーして、ちょうど"ワークフロー "を削除しようとします。 –

+0

このインターセプタスタックを自分のアクション構成に追加する必要があります? – user1006080

関連する問題