プロが教えるわが家の防犯対策術!

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

A 回答 (4件)

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

    • good
    • 0

エラーページからforwardで元のページに戻れれば、requestスコープでも問題ないので、


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

request.setAttributeだったら、スコープとして、エラーページからの遷移だと消えちゃうんじゃないかなあ?


セッションスコープに入れてみたらどうですか?
request.getSession.setAttribute
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/08/23 20:55

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2007/08/23 20:57

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

このQ&Aを見た人はこんなQ&Aも見ています