• 締切済み

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

いつも参考にさせて頂いています。 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

みんなの回答

noname#49428
noname#49428
回答No.4

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

すると、全ての回答が全文表示されます。
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.3

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

すると、全ての回答が全文表示されます。
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.2

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

pgBeginImo
質問者

お礼

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

すると、全ての回答が全文表示されます。
noname#49428
noname#49428
回答No.1

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

pgBeginImo
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A