Java填充<option>下拉列表</option>

时间:2011-05-06 12:10:14

标签: java eclipse jsp option

我有以下代码:

<div>
<%
    TaxonomicTypeFeed ttf = new TaxonomicTypeFeed();
    ArrayList<String> tmp = ttf.getTypes();
    System.out.println("Going to print");
        for (int i=0; i < tmp.size(); i++)
    {
        System.out.println(tmp.get(i));
    }
%>

    <form>
        <select>
        <%
            Iterator<String> i = tmp.iterator();
            while (i.hasNext())
            {
            String str = i.next(); %>
            <option value="<%str.toString();%>"><%str.toString();%>
            </option>
        <%}%>
    </select>
    </form>
</div>

它会创建一个下拉列表,但是没有文本。 这是我以前第一次使用这些选项,所以我不知道我是否以正确的方式进行了这项工作,

非常感谢您提前进行的建设性批评, Ú

1 个答案:

答案 0 :(得分:3)

您需要按<%= %>打印值。 <% %>不会打印任何内容。

<option value="<%=str%>"><%=str%></option>

无关问题:这是not最佳做法。考虑使用taglibs / EL。您最终会得到更好的可读/可维护代码。

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:useBean id="taxonomicTypeFeed" class="com.example.TaxonomicTypeFeed" />
...
<select>
    <c:forEach items="${taxonomicTypeFeed.types}" var="type">
        <option value="${type}">${type}</option>
    </c:forEach>
</select>

您也可以使用预处理servlet代替<jsp:useBean>