4

一連のデータを保存および編集するための HTML フォームがあります。フォームにもドロップダウンボックスがあります。編集ページを開くときの問題は、ドロップダウンのデフォルト値を、データベースから取得したばかりの値に設定する方法です。現在、JSTL タグを使用して、if 条件によって「選択された」属性を追加しています。しかし、ドロップダウンに 100 個の値がある場合、if 条件を 100 回実行するのは適切な選択肢ではありません。これが私が今持っているものです。

<select name="outageType" id="outageType" class="span3">
<option
<c:if test='${operation.type == "Type1"}'>selected="selected"</c:if>
value="Type1">Type1</option>
<option
<c:if test='${operation.type == "Type2"}'>selected="selected"</c:if>
value="Type2">Type2</option>
<option
<c:if test='${operation.type == "Type3"}'>selected="selected"</c:if>
value="Type3">Type3</option>
</select>

100個の値がある場合、それをコーディングする最良の方法は何ですか? SQL データベースで JSP/サーブレットを使用しています。

4

1 に答える 1

3

あなたは SQL データベースを持っているので、100 の操作タイプのリストを思い付くことができると思います。タイプを含むを作成し、ArrayList<String>それを という名前のリクエスト属性として設定すると、 を使用してリストを反復処理operationTypesできます。c:forEach

<select name="outageType" id="outageType" class="span3">
  <c:forEach items="${operationTypes}" var="operationType">
    <option ${operation.type == operationType
             ? 'selected="selected"' 
             : ''
             } value="<c:out value="${operationType}"/>">
      <c:out value="${operationType}"/>
    </option>
  </c:forEach>
</select>
于 2012-09-20T22:06:34.160 に答える