您好我为不同项目的列表输出编写了以下代码。
<%
List<ProjektDAO> projektListe = new ArrayList<ProjektDAO>();
projektListe = ProjektDB.getAllProjekte();
for(ProjektDAO i : projektListe)
{
%> Titel: <%= i.getName() %><br>
<%
}
%>
这里一切正常。
但我的问题是用jstl
完成我写了以下代码:
<c:forEach items="${projektListe}" var="i">
<p>Titel:</p>
<c:out value="${i.name}"></c:out> <br>
</c:forEach>
我不认为这是一般的jstl错误,因为我包含了taglib
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
和jarfiles因为这个小测试代码正在运行
<c:out value="this is a jstl Test"></c:out>
我不确定是否应该写$ {i.name}或$ {i.getName()},但两个版本都不起作用。
标签或其他东西有问题吗?我在StackOverFlow或其他地方找不到任何建议。
谢谢您的帮助。问候Max
答案 0 :(得分:2)
EL / JSTL仅适用于作用域值。您可以将ProjektDB.getAllProjekte()
结果绑定到request
或session
到Servlet的服务方法(doGet / doPost)中。
在servlet中,
request.setAttribute("projektListe",ProjektDB.getAllProjekte());
并在JSP中,
<c:forEach items="${projektListe}" var="i">
<p>Titel:</p>
<c:out value="${i.name}"></c:out> <br>
</c:forEach>