- - PR -
Strutsのstruts-config.xmlのinputの値を動的に変更するには?
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-12-16 19:59
こんばんわ。さやべえです。
Strutsでの開発でscope=sessionかつvalidate=trueで validationを行っています。複数の画面でvalidateメソッドを共有して チェックを行っていますが、エラーになった場合に、それぞれの入力ページに 飛ばせたいと思っています。 この辺りの情報をお持ちの方がいらっしゃいましたらご教授お願いいたします。 | ||||
|
投稿日時: 2003-12-16 20:30
何かこう、ActionとActionFormの関係やらを、
もう少し具体的に書いて頂けます? イメージし辛くて・・・。 | ||||
|
投稿日時: 2003-12-16 20:46
さやべえです。
登録フォームが複数の画面で構成されています。 (登録画面1⇒登録画面2⇒確認画面⇒完了画面) ActionとActionFormは1つです。 hiddenパラメーターでFoward先をActionのExecuteメソッド内で変更しています。 <action attribute="HogehogeForm" input="step1.jsp" name="HogehogeForm" path="/HogehogeAction" scope="session" type="com.hogehoge.HogehogeAction" validate="true"> <forward name="BackFirst" path="/step1.jsp" /> <forward name="BackSecond" path="/WEB-INF/jsp/step2.jsp" /> <forward name="Confirmation" path="/WEB-INF/jsp/confirmation.jsp" /> <forward name="GoSecond" path="/WEB-INF/jsp/step2.jsp" /> <forward name="Sucess" path="/WEB-INF/jsp/done.jsp" /> </action> mapping.setInput(飛び先)というメソッドを使ってみましたが、Configuration is frozen してしまいました。調べたところ1.1ではダメのようです。 http://www.mail-archive.com/struts-user@jakarta.apache.org/msg48920.html どのようなanother solutionがあるでしょうか? | ||||
|
投稿日時: 2003-12-16 21:13
1. validate="false" にして Action 内で手動で ActionForm#validate() を呼ぶ
2. 各入力ステップに応じて <action> を分ける(path も分かれる) 3. 2 と同様 path を分けるが <action> 記述にワイルドカードを使う ざっと考えただけですけど、上のような方法がありますね。 3つ目は私は試した事が無いんですけどなかなか便利そうです。 http://jakarta.apache.org/struts/userGuide/building_controller.html | ||||
|
投稿日時: 2003-12-16 21:38
でくのぼうさんレスありがとうございます。
もう少しお付き合い願いたいのですが、、Action内で下記のように実装しました。
errorsを渡す部分の実装方法がさくっと解決できません。 (現在:Google検索中です・・・) もしよろしければアドバイスを頂ければと思っております。 | ||||
|
投稿日時: 2003-12-16 21:44
さやべえです。自己レスです。
これで行けました。ありがとうございました。 | ||||
|
投稿日時: 2003-12-16 21:45
Action#saveErrors(javax.servlet.http.HttpServletRequest request, ActionMessages errors)
こんなのがあります。 意に沿うものなら良いんですけど。 http://jakarta.apache.org/struts/api/org/apache/struts/action/Action.html | ||||
1
