.jspページへの転送に問題があります。私のプログラムについて説明しましょう。
サーブレットで何かを確認したいので、$(document).ready(function()..に確認付きのjavascriptを含めた.jspに.forward()を実行しました。
OKが選択された場合、新しいXMLHttpRequest()を作成し、パラメーターconfirm = 1を設定して、確認(confirm = 1)後に実行する必要のあるコードのブロックが期待どおりに実行される前のサーブレットに戻ります。しかし、.jspに.forwardするそのブロックの最後の行は、まったく効果がないようです。
サーブレットコード:
if("1".equals(request.getParameter("confirm"))){
...
setting some request.setAttribute();
}
else{
...
}
RequestDispatcher rd = request.getRequestDispatcher(...);
rd.forward(req, res);
実は正しいページが見えますが、確認前のものだと思います。リクエストからいくつかの属性を取得し、それらの属性値に応じてjqueryでいくつかのものを表示する必要があるため、おそらくリロードされているはずです。
では、.forward()が効果を発揮しない原因は何だと思いますか?どういうわけかページを強制的にリロードできますか?
編集:サーブレットコードが最初に実行されるとき(それ以外の場合).forward()呼び出しは正常に機能します。しかし、次回は、どのページに転送しようとしても、何もしません。転送電話がまったくないのと同じように。変。誰かがこれについて説明してくれることを本当に望んでいます。
EDIT2:それは私が推測するフォワードの問題ではありません。必要な属性のsystem.out.printを実行すると、正しい値が取得されます。しかし、なぜページがリロードされないのですか?別の.jspに転送しても、前の.jspが表示されます。