電子書籍の厳選無料作品が豊富!

ある、A.htmlのボタンをクリックすると、DB登録処理が実行される
プログラムを作成中です。A.htmlからDB登録処理(DBRegist.jsp)の呼び出しは以下の通り行います。
<FORM method="GET" action="DBRegist.jsp"・・・・

DBRegist.jsp内ではDB登録処理が起動され、成功すれば、成功メッセージを出し
「戻る(アンカー)」によりC.html画面へ遷移します。
失敗した場合には、失敗メッセージを出し、やはり「戻る(アンカー」により、
A.htmlに戻りたいと思っております。(A.htmlには登録するデータをテキストボックス
等で指定しているので、それはそのまま表示させておきたいと思っております。
丁度、ブラウザの戻るボタンを押した様な状態で戻りたいと思っております。)

DBRegist.jsp内の概略フローは以下の通りです。
<%
try {
DB登録処理(トランザクション開始、insert等)
%>
<HTML>
.
<BODY>
<BR><BR>
<FONT> 登録に成功しました。</FONT>
<A HREF="C.html">[戻る]</A><BR>
</BODY>
</HTML>
<%
} catch (Exception e) {
ここで、out.println("<font>登録に失敗しました。</font><A HREF=?????>[戻る]</A>"
という具合にやりたいと思っております。
} finally {
DBクローズ処理
}
%>

上記にて、HREF=????の所にA.htmlを記述すると、その画面には遷移しますが、当然テキストボックス等が
リセットされた状態となってしまいます。
なにぶん、JSP初心者なもので、
作り自体が「普通こうはやらない」等色々、あると思いますが、
それも含めて、上記の様な事を実現するにはどうすればいいのか教えてください。

A 回答 (2件)

自分だったらの話ですが、


JSPでトランザクション処理はやらないですね。
あとサーブレットを使います。
サーブレットないでトランザクション処理を呼び出し、
その結果によって次に表示するJSPを選択します。
MVCを意識して作ると思います。
M:モデル この場合トランザクション処理等
V:JSP   表示にだけ注力します。
C:サーブレット 処理の順番や画面遷移の順番を意識します。


したはサーブレットを使う使わないに関係しませんが、
また前画面の情報が消えてしまうとのことについてですが、
全画面情報はサーブレットにサブミット時に画面に強く結びついたBeanに登録しておき、そのBeanをセッションに保存しておきます。
そうすればどのように戻ったとしても前画面の情報は取得することができます。
JSPの予約語にsessionというのがありますので
使ってみてください。
    • good
    • 1
この回答へのお礼

ありがとうございました。
sessionのgetAttributeとsetAttributeを使用して実現できました。

お礼日時:2003/09/09 19:02

「戻る」を押したときにA.htmlの


内容が消えるという問題ですが、
これは当然です。
勝手にはだれも、設定してくれません。

A.htmlを、A.jspにしておき、登録ボタンを
押したときに、設定しているテキストボックス
の項目を、#1さんが答えていたセッションなりに
登録しておくと良いでしょう。

そして、エラーとなり、戻るを押された場合は、
A.jspでセッションの中に覚えておいた
テキストボックスの値を、設定してあげましょう。

サーブレットとJSPは、中身は同じなので
まず今やっている方法で、答えをだすのが
いいと思います。

もちろんサーブレットも面白いですよ。
JSPで成功したら、サーブレットで書いてみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
sessionのgetAttributeとsetAttributeを使用して実現できました。

お礼日時:2003/09/09 19:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!