下面是我动态填充下拉列表的代码。但是,当我试图这样做时,没有任何东西会在下拉列表中填充。任何帮助将不胜感激。
<% List<String> w = new ArrayList<String>();
w.add("John");
w.add("Joseph");
%>
<td><select id="web" name="web">
<c:forEach var="item" items="${w}">
<option><c:out value="${item}"/></option>
</c:foreach>
</select></td>
答案 0 :(得分:0)
正确结束你的forEach
</c:forEach>
答案 1 :(得分:0)
似乎是变量范围问题。 EL仅适用于范围变量。所以它无法访问scriptlet varialbes。请尝试以下
<% List w = new ArrayList();
w.add("John");
w.add("Joseph");
pageContext.setAttribute("w", w);
%>
<td>
<select id="web" name="web">
<c:forEach var="item" items="${w}">
<option><c:out value="${item}"/></option>
</c:forEach>
</select>
</td>
答案 2 :(得分:0)
如果您只想动态下拉列表,则可以通过带有逗号分隔列表的<c:set>
设置值,然后使用<c:forEach>
代替<c:forTokens delims="," ...>
例如:
<td>
<c:set var="w">John,Joseph</c:set>
<select id="web" name="web">
<c:forTokens var="item" delims="," items="${w}">
<option><c:out value="${item}" /></option>
</c:forTokens>
</select>
</td>