[Seasar-user:21513] Re: バリデート処理でインターセプターが後に実行されてしまいます。

YASUO HIGA [E-MAIL ADDRESS DELETED]
2012年 12月 4日 (火) 13:33:09 JST


ひがです。

@InitMethodを実行メソッドにつけるのは普通ではない、
なぜなら、@InitMethodはコンポーネントの初期化時に呼ばれるもので、
リクエストの時に呼ばれるものではないからです。

JspHelperはS2Containerに登録しておけば、普通にDIされるはずです。

状態を保持したい場合は、hiddenなどで持ち回るか、セッションを使ってください。
________________________________
差出人: seasar-user-bounces @ ml.seasar.org [seasar-user-bounces @ ml.seasar.org] が次の人の代理で送信しました: 清水修一 [s-shimizu @ zen-integration.com]
送信日時: 2012年12月4日 12:59
宛先: seasar-user @ ml.seasar.org
件名: [Seasar-user:21512] Re: バリデート処理でインターセプターが後に実行されてしまいます。

太田様

お世話になっております。
清水です。

ご回答ありがとうございます。
こちら無事解決しましたありがとうございます。
Actionクラスに@InitMethodを記載することで無事バリデート処理が出来ました。
(下の方に書き換えたファイル名・内容を記載致します。)

また、大変差し出がましく申し訳ないのですが
バリーデート処理後選択された項目が保持されないのですが
保持させるにはどのようにしたらよろしいでしょうか?

お手数をお掛けして申し訳ございません。
何卒、宜しくお願い致します。

例)
プルダウンのテスト2選択。テキストボックスには未入力。
↓
サブミットボタン押す
↓
TestTextは必須です。
と表示される
プルダウンはテスト3になる。



●変更した点

ファイル名:IndexAction.java
-------------------------------------
package err.action;

import java.util.List;
import javax.annotation.Resource;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import err.form.ValidatorForm;



public class IndexAction {


@ActionForm
@Resource
protected ValidatorForm validatorForm;

   @InitMethod  //<--ここに追加しました。
    @Execute(validator = false)
public String index() {
     return "index.jsp";
}


    @Execute(input = "index.jsp")
    public String insert() {
        return "index.jsp";
    }
}



2012年12月4日 11:23 太田浩一 <k_ohta @ nets-web.co.jp<mailto:k_ohta @ nets-web.co.jp>>:
@InitMethod

-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20121204/42365c17/attachment.html>


Seasar-user メーリングリストの案内