【问题标题】:Display a datatable using jstl使用 jstl 显示数据表
【发布时间】:2013-01-10 10:48:14
【问题描述】:

在我的 java web 应用程序中,我有一个名为“sell”的数据表

sell(id_sell,id_buyer,id_product,date,final_price,shipping_price,sales_tax)

我创建了一个 jsp 页面,其中显示了一些关于用户的信息,例如在拍卖中获胜的产品;这些产品被描述为“销售”。在这个页面中,我必须使用 jstl 库,我的想法是使用 'c:forEach' 标记来迭代表格的每一行。

这是我的代码:

<table class="table table-bordered">
        <thead>
            <tr>
                <th>Product</th>
                <th>Date</th>
                <th>Final Price</th>
                <th>Shipping Price</th>
                <th>Salex Tax</th>
            </tr>
        </thead>
        <tbody>
            <c:forEach var="s" items="${sell}">
                <tr>
                    <td><c:out value="${s.id_product}"/></td>
                    <td><c:out value="${s.date}"/></td>
                    <td><c:out value="${s.final_price}"/></td>
                    <td><c:out value="${s.shipping_price}"/></td>
                    <td><c:out value="${s.sales_tax}"/></td>
                </tr>
            </c:forEach>
        </tbody>
    </table>

但是这段代码只显示了一个空表。我在哪里做错了?我必须导入一些东西吗?

【问题讨论】:

  • 将该sell 集合绑定到请求/会话/页面范围。
  • 我的想法是创建一个从“sell”获取所有数据的 servlet,然后使用 session.setAttribute("data",sell)。对吗?
  • 没错,你只需要在一个范围内设置数据,这样你的JSP就可以通过&lt;c:forEach&gt;items属性中的EL表达式来访问它。
  • 是时候学习 servlet 了:stackoverflow.com/tags/servlets/info

标签: java sql jsp web-applications jstl


【解决方案1】:

从您的 servlet 中,从您的数据源加载所需的数据,并将其添加到范围。然后,您的 JSP 将能够通过 EL 表达式访问它。例如,在请求范围内添加数据:

List<> data = yourDao.list();
request.setAttribute("sell", data);

关于您对自己问题的评论,请明智地使用会话范围。好的做法是使用尽可能小的范围。

【讨论】:

  • 感谢您的帮助!设置好属性后,你推荐使用“forward”还是“sendRedirect”?
  • 转发()。您可以查看 BalusC 给您的链接中的基本示例,它们非常清晰有用:stackoverflow.com/tags/servlets/info
猜你喜欢
  • 1970-01-01
  • 2013-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-27
  • 1970-01-01
相关资源
最近更新 更多