2012-10-29 37 views
0

您好,我为不同项目的列表输出编写了以下代码。JSTL foreach来自DAO类的ArrayList对象将不起作用

<% 
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"%> 和因为这个小测试代码正在工作

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

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

标签或其他东西有问题吗?我无法在StackOverFlow或其他地方找到任何建议。
谢谢你的帮助。 Greetings Max

回答

2

EL/JSTL仅适用于范围的值。您可以将ProjektDB.getAllProjekte()结果绑定到requestsession到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> 
+0

谢谢你,我不知道,我在后台使用servlet。 – droiddude