- PR -

サーブレットによるフォームメール

1
投稿者投稿内容
ひさじろう
会議室デビュー日: 2003/01/28
投稿数: 5
お住まい・勤務地: 横浜
投稿日時: 2003-02-03 16:37
件名の通りサーブレットによるフォームメールを作成中の初心者なのですが、
最初HTMLファイルにて内容を記載し、確認ボタンを押すとサーブレットで作成されたページが出ます。この内容は書き込まれた内容をそのまま表示させるだけです。
そして、そのページの修正ボタンを押すと元のフォームのページへ書き込み内容もそのままで戻るようにしたいのですが、どのようにやっていいものか皆目検討もつきません。
そのような事に関して分かる方、もしくはサイトを知っている方がいらっしゃいましたら、
教えていただけないでしょうか。
よろしくお願い致します。
_________________
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2003-02-03 16:51
> 最初HTMLファイルにて内容を記載し

> そのページの修正ボタンを押すと元のフォームのページへ書き込み内容もそのままで戻るようにしたい

もとのページがHTMLでは無理です。
<a href="JavaScript:history.back()">修正</a>
とか、
<input type="button" value="修正" onClick="JavaScript:history.back()">
とすれば元の書き込みへ戻れるかもしれませんが、ブラウザによっては
異なる動きをする可能性があり、あまりお勧めできません。

HTMLをJSPに変えて、Servletは、修正ボタンをクリックすると、フォームデータを
元のJSPへ送信するようにした方が良いと思います。
mikan
ベテラン
会議室デビュー日: 2002/08/19
投稿数: 58
投稿日時: 2003-02-03 17:23
引用:

(略)...確認ボタンを押すとサーブレットで作成されたページが出ます。この内容は書き込まれた内容をそのまま表示させるだけです。
そして、そのページの修正ボタンを押すと元のフォームのページへ書き込み内容もそのままで戻るようにしたいのですが...(略)



確認画面にて「送信」ボタン(あるんですよね?)を押したときも同様ではないでしょうか?どのようにして入力情報をメール送信サーブレットに渡すのでしょう。

<input type="hidden">でもいいんでしょうが、セッションを使ってみてもいいかもです。
確認画面を出すサーブレットで、入力画面から受け取った情報を格納したクラスを作ってセッションに入れておけば、入力画面に戻って修正する場合も、送信サーブレットに進んだ場合も、セッションの覚えたクラスから入力内容を取り出せると思います。

どっちにしても、入力画面はJSPにしたほうがいいと思われます。
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2003-02-04 09:32
こんにちは
<%
String testValue = session.getAttribute("test");

if(testValue == null){
testValue = "";
}
%>
<input type="text" name="test" value="<%=testValue%>">

このようにすれば、値の引継ぎを表示できるかと思われます。
mikan
ベテラン
会議室デビュー日: 2002/08/19
投稿数: 58
投稿日時: 2003-02-04 11:37
こんにちわ、みかんです。

引用:

<input type="text" name="test" value="<%=testValue%>">



とりあえず動作確認をしてからでいいとは思いますが、testValueにダブルクォーテーションを含んでいたり、
"><script>alert(document.cookie)</script>
とか入ってると危険なので、出力時には変換したほうがいいですよん。

http://ash.jp/java/htmlencode.htm
あたりを参考にどうぞ。

#変換を組み込む前に、どんなことが起こるか試してみるのもよいかと思います。


あと念のため、メール送信後には不要になった情報をセッションから消しちゃいましょう。

session.removeAttribute("test");

がんばってくださいまし。
1

スキルアップ/キャリアアップ(JOB@IT)