- - PR -
画面間のFORMの内容について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-11-02 18:31
A画面とB画面のそれぞれのFORM(FORMAとFORMB)に同じ項目名のフィールド(プロパティをitem1とします)があり、A画面から実行されたActionを実行後、B画面編集用のActionにforwardしたあとB画面に遷移するようになっています。
このとき、A画面から呼ばれた最初のActionではitem1(FORMA)の値を利用しますが、B画面編集用のActionではitem1(FORMB)の値は不要でB画面表示時にはitem1(FORMB)の値は空にしたいのですが、現状ではA画面で入力されたitem1(FORMA)の内容がB画面のitem1(FORMB)の初期値として表示されてしまいます。 B画面を表示する際に、item1(FORMB)に値が入らない様にするには、B画面編集用のActionにてFORMBの内容を明示的にクリアする以外方法はないのでしょうか? ダメもとで、resetメソッドでクリアとか試してみましたが、やはりダメでした。 |
|
投稿日時: 2007-11-02 18:43
すみません。言葉足らずです。
Struts1.2とTomcat5.0で実行しています。 JDKは1.4.2_13です。 他にも情報が不足している様なら指摘をお願いします。 |
|
投稿日時: 2007-11-02 19:14
コードが全然見れないので、口から出まかせを言ってみると:
forwardを使うのをやめてsendRedirectを使うか、 同じパラメータ名を使うのをやめるか… |
|
投稿日時: 2007-11-02 19:56
回答ありがとうございます。
早速sendRedirectを調べてみます。 コードは以下の様になっています。 -- ActionAのexecuteメソッド -- public ActionForward execute(・・・ { FormA formA = (FormA)form; String item1 = formA.getItem1(); : // ActionAの処理 : return mapping.findForward("success"); } -- ActionBのexecuteメソッド -- public ActionForward execute(・・・ { FormB formB = (FormB)form; String item1 = formB.getItem1(); // この時点で画面Aで入力した値がformBに入っている : // ActionBの処理 : return mapping.findForward("success"); } -- struts-config.xml -- <form-bean name="FormA" type="xx.xx.FormA"> <form-bean name="FormB" type="xx.xx.FormB"> : <action path="/ActionA" type="xx.xx.ActionA" name="FormA" ・・・> <forward name="success" path="/ActionB.do" /> </action> <action path="/ActionB" type="xx.xx.ActionB" name="FormB" ・・・> <forward name="success" path="/gamenB.jsp" /> </action> |
1