0

私はクラスAを持っています:

class A extends ActionSupport{

  int someId;
  // getters/setters

  public String execute(){
    setSomeId(2);
    return SUCCESS;
  }

  public String save(){
   // something
  }

}

で、が設定されているデフォルトのメソッドに移動するアクション""を構成struts.xmlしました。次に、値にアクセスできるjspページに移動します。show.jspで、メールIDを入力してからページを送信する必要があります。「」で呼び出されるようになったアクションは、アクションクラスのsaveメソッドに移動します。ただし、対応するvalidation.xmlファイルでいくつかのチェックを行いました。このファイルは、入力された電子メールの形式をチェックします。問題は、xml検証が失敗した場合、show.jspに戻されますが、viewIdパラメーターが使用できなくなることです。なぜそうなのですか?ViewIdexecutesomeIdshow.jspsomeIdSaveA-Save-validation.xml

入力ページは、以前と同じようにユーザーに表示されます。現在検証されているフィールドにのみ、エラーページが関連付けられている必要があります。これに対する回避策はありますか?

4

1 に答える 1

1

@Umeshが言ったように、アクションのメソッドが呼び出される前に、対応するインターセプターで検証が行われます。

検証が失敗すると、アクションのメソッドは呼び出されず、INPUT の結果が表示されます。

あなたが望むものを達成するために、いくつかのオプションがあります:

  1. アクションに準備可能なインターフェースを実装する
  2. メソッド内で検証を実行します。
  3. 関連するセクションにデータを入力するアクションを呼び出すために、データを入力する項目の前に jsp で s:action を使用します。

1がおそらく最も簡単です。オプション3も好きです。

于 2012-08-04T16:09:29.810 に答える