4

我有清单:

ArrayList list = new ArrayList();

我写了这个列表选择选项:

<td>
    <select name="database1">
        <option value="" selected>select</option>
        <%
        for(int i=0;i<list.size();i++) {
            Field=list.get(i).toString();
        %>
        <option value="<%=Field %>"><%=Field %></option>
        <%} %>
    </select>
</td>

所以我的要求是不使用 for 循环。我们直接写list进去select option

4

2 回答 2

8

不建议在jsp中使用java代码。你应该尽量避免它。

在您的情况下需要遵循的方法是首先将 Arraylist 设置为调用 jsp 页面的 servlet 中的属性。

小服务程序代码

ArrayList databaseArrayList = new ArrayList();
...
request.setAttribute("databaseList", databaseArrayList);     

然后,在 JSP 代码中,使用 jstl 遍历列表的值以填充选择选项。

JSP 代码

<select name="database1">
  <c:forEach items="${databaseList}" var="databaseValue">
    <option value="${databaseValue}">
        ${databaseValue}
    </option>
  </c:forEach>
</select>

我写了一篇关于在 JSP 中循环遍历 HashMap 和 ArrayList的文章

于 2013-10-10T11:01:01.707 回答
1

我想您做得很好,只需更改您的代码,例如:- <option value="<%out.print(Field); %>"></option> 希望这有效

于 2017-03-03T14:26:38.250 回答