我非常(非常!)我是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“,我只想让这个简单的测试首先工作。
目前,我得到了一个空填充的select。你知道我做错了什么吗?
发布于 2012-01-16 08:24:11
尽管您的JSP代码不完整,但到目前为止发布的代码看起来还不错。JSP代码片段中缺少标记库。当您只想显示“代码片段”时,通常会出现这种情况,但在实际代码中,您实际上应该在<c:xxx>顶部声明JSP。否则,JSP编译器将无法对它们进行解释,并将其视为纯文本。您可以通过在JSP浏览器中右键单击查看源代码来检查JSP生成的HTML输出,从而轻松地验证这一点。在这种情况下,您应该没有看到其中的<c:forEach>普通的香草。
我想是这样的。至少,看到一个空的下拉列表的症状证实了这一点。将以下代码添加到JSP的顶部:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>另请参阅:
https://stackoverflow.com/questions/8872658
复制相似问题