- - PR -
struts-config.xmlのforward属性について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-01-11 22:55
いつも拝見させていただいてます。
質問なのですが、struts1.2.4のサンプル(struts-example.war)で <action path="/saveSubscription" type="org.apache.struts.webapp.example.SaveSubscriptionAction" name="subscriptionForm" scope="request" input="subscription"> <forward name="subscription" path="/subscription.jsp"/> <forward name="success" path="/editRegistration.do?action=Edit"/> </action> forwardタグのpath属性にリクエスト情報(action=Edit)が設定されているのですが、 動的に設定する方法はあるでしょうか? なお、Actionクラスに return new ActionForward("/editRegistration.do?action=Edit",true); このように設定する方法以外で検討しています。 よろしくお願いします。 | ||||
|
投稿日時: 2005-01-12 00:21
通常、こういうことはしません。 struts-configはデプロイ時に設定された値のまま運用し、 動的に書き換えたりするものではありません。 strutsのforwardではrequestスコープに設定されたオブジェクトが保持されますから、 こちらで"action"というパラメタを動的に設定してやることで、お望みのことが実現 出来ると思います。 具体的には、javax.servlet.ServletRequest#setAttributeメソッドをご参照下さい。 | ||||
|
投稿日時: 2005-01-12 13:25
リクエストコンテキストに情報を設定する方法は知っていたのですが、 サンプルを見ると何か方法があるのかなぁと思ってしまいました。 勉強になりました。 ありがとうございます。 | ||||
|
投稿日時: 2005-01-12 19:49
あ、一応補足しておきますが、私の言っているのは「requestスコープのパラメタの設定」
であって、「requestパラメタの設定」ではありませんので、悪しからず。 javax.servlet.ServletRequest.html#setAttributeメソッドで設定したデータは、 javax.servlet.ServletRequest.html#getAttributeメソッドで取得します。javax.servlet.ServletRequest.html#getParameterメソッドではありませんので、 くれぐれもご注意下さい。 |
1