アプリ版:「スタンプのみでお礼する」機能のリリースについて

StrutsのLogicタグを使って、表示項目、入力項目ともsessionで保持している内容を表示しています。
JSPのイメージは下記のような感じです。
<logic:iterate id="user" name="sessionList">
<bean:write name="user" property="uid"/>
<html:text name="user" property="name" indexed="true"/>
<br/>
</logic:iterate>

しかし、上記の方法だとActionFormのvalidateから戻ってきた場合、テキスト入力に「入力エラーになった内容」でなく「sessionで保持している内容」が表示されます。

なので、Iterateタグ内の表示項目"uid"はsessionのデータを表示し、入力項目"name"はActionForm内のデータを表示したいのですが方法が思いつきません。
(初期はsessionデータを表示しますが)

どなたか良い方法をご教授願います。

A 回答 (1件)

Iterateをつかわない、一般的な入力フォームに


初期表示値を出したい場合、フォームオブジェクトを先に
newして値を入れておくとその値が表示されますよね。
でSubmitすると、フォームの値が上書きされます。

ご質問のケースも、Iterateを使っていますが、基本的に上記の
手段を使えばいいと思います。
JSPでセッション内のデータを表示させようとしていますが、その代わりに先にフォームをnewしてセッションから値をコピーしておき、JSPからは
<html:text name="myForm" property="name" indexed="true"/>
のようにフォームから値をとるようにしておきます。
リストまたは配列などを使うのでその部分は考えてみてください。
    • good
    • 0

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