【问题标题】:JSTL foreach ArrayList Object from DAO Class won't work来自 DAO 类的 JSTL foreach ArrayList 对象不起作用
【发布时间】:2012-10-19 07:50:03
【问题描述】:

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

<%
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 &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%&gt; 和 jarfiles,因为这个小测试代码正在工作

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

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

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

【问题讨论】:

    标签: jsp foreach arraylist jstl dao


    【解决方案1】:

    EL/JSTL 仅适用于 scoped 值。您可以将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>
    

    【讨论】:

    • 谢谢,我不知道我必须在后台使用servlet。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 2014-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    相关资源
    最近更新 更多