質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Q&A

1回答

5420閲覧

jspのラジオボタンやプルダウンメニューの初期値に変数を使用するには

manmos

総合スコア55

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

0グッド

1クリップ

投稿2016/05/08 14:55

現在データベースのレコードを更新するコードを作成中なんですが、更新用の入力フォームに初期値を設定するところで躓いてしまっています。
テキストボックスの初期値にDaoとサーブレットで用意した変数を当てはめるのは簡単だったのですがラジオボタンやプルダウンメニューの場合どのようにすればよいのかわかりません。

氏名<input type="text" name="name" size="20" maxlength="20" value="${userinfo.name}" ><br> 氏名(ひらがな)<input type="text" name="nameHiragana" size="20" maxlength="20" value="${userinfo.nameHiragana}"><br> 生年月日<input type="text" name="birthday" size="10" maxlength="10" value="${userinfo.birthday}"><br> 性別<input type="radio" name="sex" value="0" /> 男 <input type="radio" name="sex" value="1" /> 女<br> 所属<select name="comInfoId"> <%while (rs1.next()) { %> <option value="<%=rs1.getString("com_id")%>"><%=rs1.getString("abbreviation")%></option> <%}%> </select><br> 事業部<select name="department"> <option value="0">開発</option> <option value="1">NW</option> <option value="2">検証</option> <option value="3">オフィス</option> <option value="4">管理</option> </select><br>

現状こんな感じです。
性別、所属、事業部の各変数はテキストボックスの初期値にしてみると表示されるので値を持ってくることはできています。
所属の部分がプルダウンの項目の取得と初期値の取得を別に行っているので曲者な気がしています。(com_idとabbreviationのどちらでも値を持ってくることはできます)

詳しい方いらっしゃいましたらどうすればよいのかご教授お願いします。一つずつでも助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Java

1<%while (rs1.next()) { %> 2 <option value="<%=rs1.getString("com_id")%>"><%=rs1.getString("abbreviation")%></option> 3 <%}%> </select><br>

上記whileループ文内の<option>タグを出力する際に、初期値となる場合用に条件文(if文)を追加し、初期値としたい<option>タグの場合には「selected」属性を付与する方法はいかがでしょうか?

Java

1<% if ("ここに初期値となる場合の条件文を記載"){ %> 2 <option selected> ... </option> 3<% } else { %> 4 <option> ... </option> 5<% } %>

投稿2016/05/08 15:08

takyafumin

総合スコア2335

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

manmos

2016/05/08 15:44

初歩的なことで申し訳ないんですがこの場合if文ってどう書くんでしょうか? com_idとabbreviationの値と選択肢は 1 A 2 B 3 C というふうになっているんですが、"${userinfo. com_id}"の変数が1だった場合にAにするなら if ("${userinfo. com_id}"== 1) { <option selected> ... </option> (略) みたいな感じでしょうか。 この時<option selected>の後のabbreviationの部分がAというのをどのように表現すればよいのでしょう?
takyafumin

2016/05/08 16:24 編集

初期値となる場合の条件が質問文から読み取れなかったので記載しませんでした。 具体的に初期値となる場合の条件を記載できますか? また、回答いただいた内容で実際にかしてみると疑問が晴れるかもしれません。 まずは「abbreviation」の部分無しでもよいので動かしてみましょう。 -- 訂正。 すみません、「userinfo.com_id」との比較が初期値の条件ですね。 それであれば「userinfo.com_id」と「rs1.getString("com_id")」が同一である場合に「<option selected>」とすれば良さそうです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問