- - PR -
ValidatorActionFormの使い方
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-06 01:54
複数のボタンがフォームにあり、ボタン毎に検証ルールを設定したいので、LookupDispatchAction、ValidatorActionFormを使っています。
下記のようにアクションをチェーンさせて検証対象のactionパスを指定しています。dispatch.jspにFormのフィールドだけが含まれる場合は動作するのですが、requestに保存した値を呼び出すような場合には「スコープ request にBean request.subtitle がありません」と言ったエラーになります。 アクションをチェーンしているので、ブラウザから再度リクエストを受け付けたとして処理される為だということは分かったのですが、ここから先どうしたらいいのか行き詰まってしまいました。お力をお貸し頂ければと思います。よろしくお願いします。 struts-config.xml <action attribute="mydispatchForm" input="/dispatch.jsp" name="dispatchForm" parameter="cmd" path="/mydispatch" scope="request" type="com.testprj.struts.io.MyDispatchAction"> <forward name="this" path="/dispatch.jsp" /> <forward name="register" path="/mydispatch_register.do?cmd=register" /> </action> <action attribute="mydispatchForm" input="/dispatch.jsp" name="dispatchForm" parameter="cmd" path="/mydispatch_register" scope="request" type="com.testprj.struts.io.MyDispatchAction"> <forward name="this" path="/dispatch.jsp" /> </action> validation.xml <form name="/mydispatch_register"> <field property="str1" depends="required"> <arg0 key="str1" resource="false"/> </field> </form> | ||||||||
|
投稿日時: 2006-04-06 17:54
パッと思い付く方法として、requestスコープではなくsessionスコープにオブジェクトを格納すれば、「スコープ request にBean request.subtitle がありません」といった現象は回避出来るのでは無いかと思いました。
リダイレクト扱いになっているんでしょうか?もしかしたら
とすれば良いかもしれません。 #全て想像の域を出ておらず、申し訳ありません。 | ||||||||
|
投稿日時: 2006-04-08 10:26
返事が遅くなりました。すいません。
SUK2さんのおっしゃるとおり、リダイレクトになっていたのかもしれません。 EasyStrutsを使っているのですが、一度リダイレクトにチェックを入れ、その後チェックを外して試したらエラーにはなりませんでした。でも、EasyStrutsが作成したstruts-configの内容は、この掲示板に添付した内容と変わりありません。 何で?という疑問がありますが、おかげさまで解決しました。 どうもありがとうございました。 |
1