[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 メーリングリストの案内