2012-01-14 54 views
1

我正在尋找同樣的問題,因爲我的,但我沒有發現任何東西。這是我的問題: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

回答

1

那麼,你的頁面的源代碼顯示清楚的問題:在c標籤不被容器解釋。這意味着,你忘了在JSP的頂部申報c的taglib:

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

請確保您已設置此:

<%@ page isELEnabled ="true"%> 

使EL表達式使

+1

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