首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSTL数组列表。值为空

问JSTL数组列表。值为空
EN

Stack Overflow用户
提问于 2012-01-14 23:07:22
回答 2查看 772关注 0票数 1

我正在寻找和我一样的问题,但我什么也没找到。这就是我的问题:

我有包含beans的ArrayList。我的bean是“Row”类。这里有setter和getter。

这是来自数据库类的方法:

代码语言:javascript
复制
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:

代码语言:javascript
复制
    ArrayList<Row> rows = db.getDatalist();
    request.setAttribute("rows", rows);
    request.getRequestDispatcher("/main.jsp").forward(request,response);

至少'main.jsp':

代码语言:javascript
复制
<c:forEach var="row" items="${rows}">
      <c:out value="${row.location}"></c:out>
</c:forEach>

问题是${row.location}为空。我的页面来源:

代码语言:javascript
复制
<c:forEach var="row" items="[webservice.model.Row@1e41769, webservice.model.Row@1bd0815, webservice.model.Row@15dd716, webservice.model.Row@1d40d08]">

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

</c:forEach>

有什么想法吗?非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-14 23:11:01

您的页面源代码清楚地指出了问题:容器不能解释c标记。这意味着您忘记在c顶部声明JSP:

代码语言:javascript
复制
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
票数 1
EN

Stack Overflow用户

发布于 2012-01-15 00:19:14

请确保您已设置了以下内容:

代码语言:javascript
复制
<%@ page isELEnabled ="true"%>

若要启用el表达式,请执行以下操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8863046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档