您好,下面是我的代码,用于动态填充下拉列表。但是,当我尝试这样做时,下拉列表中没有任何内容。任何帮助将不胜感激。
<% 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>
正确结束forEach
</c:forEach>
似乎是变量范围问题。 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>
如果您只想动态下拉列表,则可以通过带有逗号分隔列表的<c:set>
来设置值,然后使用<c:forEach>
代替<c:forTokens delims="," ...>