0

您好,我为不同项目的列表输出编写了以下代码。

<%
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>

我不认为这是一般 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 的 jstl 错误,因为我包含了 taglib 和 jarfile,因为这个小测试代码正在工作

    <c:out value="this is a jstl Test"></c:out>

我不确定我应该写 ${i.name} 还是 ${i.getName()} ,但两个版本都不起作用。

标签有问题还是其他问题?我在 StackOverFlow 或其他地方找不到任何建议。
感谢您的帮助。问候马克斯

4

1 回答 1

2

EL/JSTL 仅适用于作用域值。您可以将ProjektDB.getAllProjekte()结果绑定到request或绑定到sessionServlet 的服务方法 (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>
于 2012-10-30T05:28:03.830 回答