HTML下拉集默认选自JSP / servlet中的数据库

时间:2012-09-20 21:54:42

标签: html jsp servlets jstl

我有一个HTML表单,用于存储和编辑一组数据。我的表格中也有一个下拉框。打开编辑页面时遇到的问题是如何将下拉列表的默认值设置为我刚从数据库中获取的值。目前,我使用JSTL标签通过if条件添加“selected”属性。但是如果我在下拉列表中有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 / Servlets。

1 个答案:

答案 0 :(得分: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>