- ベストアンサー
JSPで<SELECT>の中にDBから持ってきたデータを反映させたい
- JSPでSELECTタグの中にDBから持ってきたデータを反映させる方法について知りたいです。
- SELECTタグで選択できるデータはDBから取得し、初期値もDBから取得したデータに設定したいです。
- 現在、Jbuilder+SQL-Serverを使用してプログラムを作成していますが、SELECTタグの選択肢と初期値をDBから取得する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 intをStringに変換。お好きな方法でどうぞ。 ・String s = "" + int; ・String s = Integer.toString(int); ・String s = String.valueOf(int); Stringをintに変換。 ・int i = Integer.parseInt(String); ちなみにintとIntegerは異なるものですのでご注意下さい。
その他の回答 (2)
- President
- ベストアンサー率57% (12/21)
こんにちは。 A.equals(B)はオブジェクトの比較ですのでintの比較では使用できません。 if文ではm_staff.code_authと一致する<OPTION>タグにSELECTEDを付ける のですから、 ・Stringの場合 if([m_staff.code_auth].equals([m_auth.code_auth])){} ・intの場合 if([m_staff.code_auth] == [m_auth.code_auth]){} []内はそれぞれの値 となると思うのですが... 間違っていたらごめんなさい。
補足
urizakaです なるほど、intとStringだと比較の仕方が違うと… でも、この場合はメソッドで持ってきた値はStringで、変数iは intなので、普通の方法で比較はできないことになってしまうんですよ ね。 では、intの値をStringと比較したい場合はどうするのでしょう? (いや、原則としておかしいことではありますが。確か、Stringをintに、 あるいはその逆にCastすることはできなかったと思いますし…) すみませんが、この件についてご存知でしたら教えてください。
- President
- ベストアンサー率57% (12/21)
こんにちは。 初期表示したい<OPTION>タグにSELECTED属性を付けて下さい。 <SELECT name = "s_code_auth"> <OPTION VALUE="">xxx</OPTION> <OPTION VALUE="" SELECTED>yyy</OPTION> <OPTION VALUE="">zzz</OPTION> </SELECT> yyyが初期選択されます。
補足
urizakaです なるほど、SELECTEDですね。 ということはループ文を使って、該当するものが現れるまで処理を続ければ …と思い、以下のようなソースコードを書いてみたのですが <% int i; for( i = 0; i < tantoushaallbean.getcode_auth().size(); i++ ){ out.print("<option value=\""); out.print(tantoushaallbean.getcode_auth().elementAt(i)); if (parseInt(tantoushaallbean.gets_code_auth()).equals(i)){ out.print("selected"); } out.print("\">"); out.print(tantoushaallbean.getauthname().elementAt(i)); out.print("</option>\n"); } %> しかし、parseInt(tantoushaallbean.gets_code_auth()).equals(i) でトラブルが起き、処理が上手くいきませんでした。 他にも i == parseInt(tantoushaallbean.gets_code_auth()) や、一度別のテキストボックスに入れて処理してみるという方法も試し ましたが駄目でした… すみませんが引き続き、分かる方どうぞ教えてください 宜しくお願いします。
お礼
urizakaです 参考になりました。 ありがとうございます。