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ページを呼び出すサーブレットの属性として設定することです。

サーブレット コード

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 に答える