如何在jsp中指定arraylist选择选项

sur*_*nda 4 html jsp

我有这个清单:

ArrayList list = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

我写这个列表选择选项:

<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>
Run Code Online (Sandbox Code Playgroud)

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

Sor*_*ter 6

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

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

Servlet代码

ArrayList databaseArrayList = new ArrayList();
...
request.setAttribute("databaseList", databaseArrayList);     
Run Code Online (Sandbox Code Playgroud)

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

JSP代码

<select name="database1">
  <c:forEach items="${databaseList}" var="databaseValue">
    <option value="${databaseValue}">
        ${databaseValue}
    </option>
  </c:forEach>
</select>
Run Code Online (Sandbox Code Playgroud)

阅读:如何避免JSP文件中的Java代码?