- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JSPの値により遷移先を変更する)
JSPの値により遷移先を変更する方法
このQ&Aのポイント
- JSPの値によりボタンの遷移先を変更する方法についてご質問です。
- 現在、ボタンAとボタンBを押しても常にabc.jspに遷移してしまう問題が発生しています。
- 具体的な処理としては、abc.jsp内で取得した値によりactionVの値を設定しているのですが、正しく処理されていないようです。正しい処理方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#94983
回答No.1
これだけだと、A,Bそれぞれのボタンを押して送信されるとき、どのように値が設定されているのかが見えないからなんともいえんな。 ボタンを押してabc.jspを再表示したとき、実際にブラウザに出力されるHTMLソースコードで、フォームのactionにどのような値が設定されているだろうか。また、<logic:equal>に入る段階で、actionFlagプロパティの値がどうなっているかSystem.out.printlnなどで書き出してチェックしてみてはどうか。案外、どちらかの値が未定義だったりしないだろうか。
お礼
回答ありがとうございます。 再表示したときに、 ブラウザに出力されるソースコードを見たところ、 【ボタンA】 <form name="actionForm" method="POST" action="/abc.jsp"> 【ボタンB】 <form name="actionForm" method="POST" action="/efg.jsp"> と、値は正常に渡っていました。 しかし、【ボタンB】を押した場合は【efg.jsp】へ、 という処理を行う場合、 1.【ボタンB】を押す。 2.actionの値に【efg.jsp】が格納される。 3.もう一度【ボタンB】を押す。 4.【efg.jsp】に遷移する。 のようにしなければなりません。 【ボタンB】を押した後に【efg.jsp】に遷移する場合の処理を 引き続き教えていただけたらと思います。 質問続きで申し訳ありませんが、よろしくお願いいたします。
補足
本件、自己解決しました。 今回はstrutsを使用しているので、 struts-config.xmlに処理を追加することで解決しました。 今まで <forward name="success" path="/abc.jsp"/> のみでしたが、 <forward name="next" path="/efg.jsp"/> を追加し、新たなロジックを追加することで 【ボタンB】を押した後に【efg.jsp】に遷移できるようになりました。 回答をしてくださったlogger_man様に 再び、お礼申し上げたいと思います。 ありがとうございました。