【发布时间】:2013-01-23 06:21:49
【问题描述】:
我有一个在 JSP 的 scriptlet 中定义的 ArrayList。在正文部分,我想使用 JSTL forEach 循环显示项目。
通过this one 之类的教程,我编写了以下代码:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="java.util.ArrayList" %>
<%
ArrayList<String> fruits = new ArrayList<String>();
fruits.add("Orange");
fruits.add("Apple");
%>
<html>
<head>
<title>JSTL</title>
</head>
<body>
<c:forEach var="fruit" items="${fruits}">
<c:out value="${fruit}" />
</c:forEach>
</body>
</html>
但是我得到一个空白页。我在上面的代码中哪里出错了?
我能找到的所有教程似乎都在 servlet 中定义了一个 ArrayList bean,并通过 request 将它们传递给 JSP。在 forEach 循环中,他们使用c:out 和${bean.prop} 来打印它。我没有这样尝试过。我想做一些更简单的事情,但似乎无法让这段代码工作。
【问题讨论】:
-
找到它们的不是 JSTL。找到它们的是 EL(那些
${}的东西)。从stackoverflow.com/tags/el/info开始 -
BalusC,感谢您的链接。它清楚地解释了它在哪里寻找对象。
-
不客气。至于 JSTL,请查看 stackoverflow.com/tags/jstl/info(您可以通过悬停标签直到出现黑框并单击其中的 info 链接来找到那些标签 wiki 页面)。至于具体问题,您实际上应该使用预处理 servlet(您应该避免在 JSP 中使用
<% %>)。请参阅stackoverflow.com/tags/servlets/info 中的第二个 hello world 示例
标签: jsp arraylist foreach jstl el