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

Struts2のタグにてJSP内にテキストボックスを以下のように記述しています。
この場合、JSPが最初に表示されたときはテキストボックス内には初期値として40
が表示されます。しかし、テキストボックスに 5 を入力しなおして
サブミットし、再度JSPの画面が表示された時には40の値が表示されてしまいます。
value="40" の部分を消しておけばJSP画面再表示時には入力した
値が表示されますが初期表示としてvalueの部分は欲しいと思っています。

初期値の設定項目であるvalueの部分を残しながらもJSPの再表示時には
入力しなおした値が表示されるというような処理は以下のタグでは
無理なのでしょうか。何か良いお知恵がありましたらよろしくお願いいたします。

<s:textfield label="会員ID" name="id" value="40" />

A 回答 (2件)

Actionクラス側で初期表示の場合は初期値をセットするか


(JSPは使いまわしで、ActionもしくはActionメソッドを分けてみたり)

直前に未設定なら初期値をセットするとか
<s:if test="!id">
<s:set name="id" value="40"/>
</s:if>
<s:textfield name="id" />

しかし、後者だと、DBから取ってきた値がnullだったりすると40にされてしまう。
    • good
    • 0

1.EL式で三項式


2.OGL式で三項式
3.Dtoに初期値設定
4.ifタグ による分岐
    • good
    • 0

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