JSP下拉列表(<select>)来自Bean </select>

时间:2012-01-15 19:29:47

标签: html jsp netbeans drop-down-menu javabeans

我非常(非常!)是JSP开发的新手,我正在尝试在大约30秒内完成我在ASP.NET中所做的事情,但环境正在努力。

到目前为止,我的网页上有以下内容:

<body>
    <jsp:useBean id="allPlayerInfo" class="Player.AllPlayers" scope="page"/>
    <jsp:include page="../header.jsp"/>
    Player:
    <select id="drp_player">
        <c:forEach var="item" items="${allPlayerInfo.items}">
            <option value="${item}">${item}</option>
        </c:forEach>
    </select>
</body>

AllPlayers文件如下所示:

package Player;
public class AllPlayers {
    public java.util.List<String> getItems() {
        java.util.List<String> list = new java.util.ArrayList<String>();
        list.add("PlayerName1");
        list.add("PlayerName2");
        list.add("PlayerName3");
        return list;
    }
}

我(很明显?)将来会用数据库调用替换占位符“PlayerNames”,我只想让这个简单的测试先工作。

目前,我找回了一个没有填充的选择。我有什么想法吗?

1 个答案:

答案 0 :(得分:4)

到目前为止发布的代码看起来很好,尽管您的JSP代码不完整。 JSP片段中缺少taglib。当您只想显示“片段”时通常就是这种情况,但在实际代码中,您应该在JSP的顶部声明<c:xxx> taglib。否则它们将不会被JSP编译器解释并被视为纯文本。您可以通过右键单击Web浏览器中的查看源来检查JSP生成的HTML输出,从而轻松验证这一点。你应该在这个特殊情况下 not 在那里看到<c:forEach>普通香草。

我认为情况就是这样。至少,看到空下拉列表的症状证实了这一点。将以下内容添加到JSP的顶部:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

另见: