JSP Bean生成下拉列表(<select>)

3
我是一名新手,刚接触JSP开发,现在我想实现一个在ASP.NET中大约只需要30秒钟就能完成的功能,但是环境让我感到很困惑。
目前,我的网页上有以下内容:
<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个回答

4
到目前为止,您发布的代码看起来不错,但是您的JSP代码不完整。在JSP片段中缺少标签库。当您只想显示“片段”时,通常会出现这种情况,但在实际代码中,您应该在JSP顶部声明<c:xxx>标签库。否则,它们将不会被JSP编译器解释,并被视为纯文本。您可以通过右键单击,在Web浏览器中查看JSP生成的HTML输出来轻松验证此内容。在这种特殊情况下,您不应该在其中看到<c:forEach>普通香草。

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

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

参见:


太棒了,非常感谢。在继续我的项目之前,我会多读一些相关的内容! - loxdog

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接