こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エラーページ遷移後に入力値を残す

いつも参考にさせて頂いています。
strutsでアプリを作っています。
入力チェックをして不備があるとstrutsの<html:erros />タグにてエラーメッセージを表示しているのですが、その際に入力した値を残す処理ができなくて困っています。
私が思っていたのはrequestスコープにActionFormの値を設定すればいいのかな?と思っていたのですがうまくいきません。
(画面遷移、エラーメッセージ表示はできていますが、入力された値は消えてしまいます)
以下にソースの載せますのでご教授宜しくお願いします。

■postでリクエストを投げるjsp
<form action…>
<input type="text" name="requestDto.nameKanji">
</form>

■値を取得したサーブレット
//パラメータをアクションフォームから取得
TestActionForm actionForm = (TestActionForm)form;
ActionMessages messages = new ActionMessages();
// 入力チェック
inputCheck(actionForm, messages);

// エラー処理
if(messages.size() != 0) {
saveErrors(request, messages);
ActionForm form = new ActionForm();
form.setRequestDto(actionForm.getRequestDto)
// ここでアクションフォームをリクエストスコープに設定
request.setAttribute("ActionForm ", form);
return ( mapping.findForward("error") );
}
リクエストスコープに入れる名前、もしくは値が間違っているのでしょうか?
どうか宜しくお願いします。

開発環境
jdk1.4_12
tomcat5.0
struts1.2

投稿日時 - 2007-08-23 01:03:57

QNo.3278355

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

inputのvalue属性に何も指定してないのに表示される訳ないでしょ。

投稿日時 - 2007-09-03 10:10:27

ANo.3

エラーページからforwardで元のページに戻れれば、requestスコープでも問題ないので、
エラーページの作り方次第なのかな? と思います。
でも、基本はやっぱり、セッションスコープに入れるんじゃないかなあ?
requestスコープだろうがsessionスコープだろうが removeAttribute してますよ<私(笑)

投稿日時 - 2007-08-24 10:23:43

ANo.2

request.setAttributeだったら、スコープとして、エラーページからの遷移だと消えちゃうんじゃないかなあ?
セッションスコープに入れてみたらどうですか?
request.getSession.setAttribute

投稿日時 - 2007-08-23 19:42:59

お礼

回答ありがとうございます。
セッションは開放など考慮にいれないと駄目なので使わない前提です。

投稿日時 - 2007-08-23 20:55:17

ANo.1

JSPでは、Strutsのhtmlタグを使ってみてください。

投稿日時 - 2007-08-23 09:33:48

お礼

回答ありがとうございます。
htmlタグを使わないと駄目でしょうか?
できたら使いたくはないのですが…他に方法はありませんでしょうか?
宜しくお願いします。

投稿日時 - 2007-08-23 20:57:37

あなたにオススメの質問