【问题标题】:Java populating <option> dropdown listJava 填充 <option> 下拉列表
【发布时间】:2011-08-20 03:38:53
【问题描述】:

我有以下代码:

<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>

它可以很好地创建一个下拉列表,但是没有文本。 这是我第一次使用这些选项中的任何一个,所以我不知道我是否以正确的方式进行操作,

非常感谢您提前提出的建设性批评, U.

【问题讨论】:

    标签: java eclipse jsp option


    【解决方案1】:

    您需要打印&lt;%= %&gt; 的值。 &lt;% %&gt; 不会打印任何内容。

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

    与问题无关:这是not 的最佳做法。考虑使用标记库/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>
    

    除了&lt;jsp:useBean&gt;,您还可以使用预处理servlet

    【讨论】:

    • 我也会研究预处理 servlet,再次欢呼。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 2015-01-20
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多