🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JSP

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

解決済

2回答

1391閲覧

<c:choose>を用いて<form:option>の値は変えられますか?

EDM

総合スコア30

JSP

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2020/12/08 07:21

編集2020/12/09 00:52

いまこのようにして、<c:choose>を用いて条件式に応じてform:optionの値がこうなるのかなと思い実験しています。
結論、プルダウンも表示されないし、できないということですかね?
考察お願いします。

jsp

1<c:choose> 2 <c:when test="${row.fruits == 'りんご' }"> 3 <form:select path="fruitsTxt"> 4 <form:option value="${row.fruits}"/> //りんご 5 <form:option value="オレンジ"/> 6 <form:option value="メロン"/> 7 </form:select> 8 </c:when> 9 <c:when test="${row.fruits == 'オレンジ' }"> 10 <form:select path="fruitsTxt"> 11    <form:option value="りんご"/> 12 <form:option value="${row.fruits}"/> //オレンジ 13 <form:option value="メロン"/> 14 </form:select> 15 </c:when> 16 <c:when test="${row.fruits == 'メロン' }"> 17 <form:select path="fruitsTxt"> 18    <form:option value="りんご"/> 19 <form:option value="オレンジ"/> 20 <form:option value="${row.fruits}"/> //メロン 21 </form:select> 22 </c:when> 23</c:choose>

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

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

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

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

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

guest

回答2

0

form のpathに指定した変数がControllerにて格納されており、form:formで囲んでいれば意味があるかと思いますが、記述されている方法では、いずれの値のときにも同じ<select><option>の内容が生成されますので、あまり意味がないようです。

https://ashanoguzyutu.hatenablog.com/entry/2018/05/15/235045

投稿2020/12/08 09:05

A-pZ

総合スコア12011

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

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

EDM

2020/12/09 00:44

回答ありがとうございます。 あれからいろいろ試していたら思ったのができたので、自己解決のほうで詳細示しますね。
guest

0

自己解決

質問のコードだとセレクトボックスができないのは<c:choose>の中だからできなかったのだと理解しました。そのためコードを以下のように変えることでセレクトボックスは出力できたし、DBから取得した値によってOptionの値を変えることができました。わざわざjavaScriptを用いなくともできました。

jsp

1<form:select path="fruitsTxt"> 2 <c:choose> 3 <c:when test="${row.fruits == 'りんご' }"> 4 <form:option value="${row.fruits}" selected="sekected"/>//りんご 5 <form:option value="オレンジ"/> 6 <form:option value="メロン"/> 7 </c:when> 8 <c:when test="${row.fruits == 'オレンジ' }"> 9  <form:option value="りんご"/> 10 <form:option value="${row.fruits}" selected="selected"/>//オレンジ 11 <form:option value="メロン"/> 12 </c:when> 13 <c:when test="${row.fruits == 'メロン' }"> 14  <form:option value="りんご"/> 15 <form:option value="オレンジ"/> 16 <form:option value="${row.fruits}" selected="selected"/>//メロン 17 </c:when> 18 </c:choose> 19</form:select>

投稿2020/12/09 00:51

EDM

総合スコア30

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問