※ ChatGPTを利用し、要約された質問です(原文:JSPの値により遷移先を変更する)
JSPの値により遷移先を変更する方法
このQ&Aのポイント
JSPの値によりボタンの遷移先を変更する方法についてご質問です。
現在、ボタンAとボタンBを押しても常にabc.jspに遷移してしまう問題が発生しています。
具体的な処理としては、abc.jsp内で取得した値によりactionVの値を設定しているのですが、正しく処理されていないようです。正しい処理方法を教えてください。
こんにちは。
【abc.jsp】内の
【ボタンA】を押した場合は【abc.jsp】へ
【ボタンB】を押した場合は【edf.jsp】へ
上記のように、
JSPで取得した値により遷移先を変更させようとしています。
ですが、【ボタンA】、【ボタンB】のどちらを
押しても【abc.jsp】に遷移します。
上記の処理を行うにはどうすればよいでしょうか?
以下に抜粋した処理を記述します。
***** 処理(abc.jsp) *****
<logic:equal name="actionForm" property="actionFlag" value="abc">
<%actionV = "/abc.jsp";%>
</logic:equal>
<logic:notEqual name="actionForm" property="actionFlag" value="abc">
<%actionV = "/efg.jsp";%>
</logic:notEqual>
<html:form method="POST" action="<%=actionV %>">
以下略
不明な点がありましたら、補足いたします。
お礼
回答ありがとうございます。 再表示したときに、 ブラウザに出力されるソースコードを見たところ、 【ボタン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様に 再び、お礼申し上げたいと思います。 ありがとうございました。