JSP内の値でデフォルトを変えるには

[新着] Webテンプレートを仮オープンしました



0   名前: KKK : 2007/01/25(木) 09:43  ID:cyVPZSRF sub-M4
質問させてください。

WEBアプリケーションを作っています。
DBから取ってきた内容をJSP内のリストやチェックボックスでデフォルトとして選択させておきたいのですが、どうしたらよいのでしょうか?




具体的には・・・

ジャンル:<select name="Genre" selected="<%= examplebeans.getResult(3) %>">
<option value="metal">メタル</option>
<option value="anime">アニメソング</option>
<option value="enka">演歌</option>
<option value="soundtracks">サウンドトラック</option>
<option value="healing">ヒーリング</option>
<option value="clasical">クラシック</option>
<option value="jazz">ジャズ</option>
<option value="rock">ロック</option>
<option value="pops">ポップス</option>
<option value="hiphop">ヒップホップ</option>
</select>


このようなソースで、getResult()で取ってきた文字列をselectedに投げたいと思っています。
標準出力ではジャンルが表示されているのですが、ブラウザで吐き出されたソースにもきちんと表示されています。



また

チェック :<input type="checkbox" name="flag" <% if(example.getResult(9) == "1") out.println("\"checked\""); %>>あり

チェックボックスのON / OFFも切り替えたいと思っているのですが、こちらのソースにはcheckedは吐き出されません・・・
(このgetResult()では文字で0か1が帰るように設定されています。)

1   名前: 元帥 : 2007/01/25(木) 09:43  [URL]  ID:ZLF/ZCPR sub-bK
出力後のソースコードを見て下さい。
<input type="checkbox" name="flag" "checked">
となっていませんか?
ダブルクオートは余計です。

このような場合、素直にif文使った方が分かり易いとは思いますが…
<% if( ){ %>
<input type="checkbox" name="flag" checked="checked">
<% }else{ %>
<input type="checkbox" name="flag">
<% } %>


2   名前: KKK : 2007/01/25(木) 09:43  ID:cyVPZSRF sub-M4
どうも、Kです。
両方とも無理やりですが、解決しました。

前者ですが、selectedはoptionの中に記述するんですね。
optionの中にいちいちif()で出力するようにしました。
ちょっと不恰好ですけど・・・

後者は単純に==で比較していたのが不味かっただけでした。
(Stringオブジェクト同士の比較なので、String型のequlas()メソッドでした。)
あとはダブルクォーテーションですね。


チーム内の他のメンバーからの引継ぎだったので、まだ読みが足りなかったようです。
ありがとうございました。

一覧へ戻る