JSTL arraylist。值为空

问题描述:

我正在寻找同样的问题,因为我的,但我没有发现任何东西。这是我的问题:JSTL arraylist。值为空

我有ArrayList中,其中包括豆类。我的豆类是'行'类。有setter和getters。

这是从数据库类方法:

public ArrayList<Row> getDatalist() { 
    datalist = new ArrayList<Row>(); 
    try { 
     String query = "SELECT * FROM ..."; 
     ResultSet r = s.executeQuery(query); 
     while(r.next()) { 
      Row row = new Row(); 
      row.setLocation(r.getString(4)); 
      row.setVolume(r.getInt(3)); 
      row.setTime(r.getTime(5)); 
      row.setDate(r.getDate(5)); 
      datalist.add(row); 
     } 
    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 
    return datalist; 
} 

我的servlet:

ArrayList<Row> rows = db.getDatalist(); 
    request.setAttribute("rows", rows); 
    request.getRequestDispatcher("/main.jsp").forward(request,response); 

而且至少 'main.jsp中':

<c:forEach var="row" items="${rows}"> 
     <c:out value="${row.location}"></c:out> 
</c:forEach> 

的问题是,$ { row.location}是空的。我的信息来源:

<c:forEach var="row" items="[[email protected], [email protected], [email protected], [email protected]]"> 

     <c:out value=""></c:out> 

</c:forEach> 

任何想法?非常感谢。

+1

你有JSP中的JSTL taglib?如果这是您的呈现源代码,则不会评估您的JSTL标记。 – 2012-01-14 15:09:48

那么,你的页面的源代码显示清楚的问题:在c标签不被容器解释。这意味着,你忘了在JSP的顶部申报c的taglib:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

请确保您已设置此:

<%@ page isELEnabled ="true"%> 

使EL表达式使

+1

EL正在评估,如渲染输出所示。 – 2012-01-14 16:27:03