2012-01-14 10 views
1

私は私と同じ問題を探していましたが、何も見つかりませんでした。これは私の問題です:JSTL arraylist。値は空です

私はBeanを含むArrayListを持っています。私の豆はクラス '行'です。セッターとゲッターがあります。

これは、Databaseクラスからメソッドです:

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; 
} 

マイサーブレット:

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タグを評価していません。 –

答えて

1

ページソースは問題をはっきりと示しています。cタグはコンテナによって解釈されません。あなたは、この設定した

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

は必ず::これは、JSPの先頭にcのtaglibを宣言するのを忘れていることを意味します。EL式を有効にするために

<%@ page isELEnabled ="true"%> 

+1

レンダリングされた出力に示されているように、ELは評価中です。 –

関連する問題