我有一个从数据库查询获得的产品列表。

在每个产品中,都有一个Calendar类型的Date_inDate_out变量。

我想要做的就是将这些产品传递到jsp视图,以便我可以使用它们的所有信息构建一个表。为此,我需要将Calendar日期转换为更合适的格式(如String),并且我有一个实用程序。

我的问题是:对于列表中的每个产品,如何将每个转换的date_in / date_out传递给request.setAttribute?

这就是我所拥有的。

ProductAction中:

List<Product> products = service.viewActiveProducts();
    for(Product product: products) {
        String date_inToString = DateConversionUtility.calendarDateToString(product.getDate_in());
        String date_outToString = DateConversionUtility.calendarDateToString(product.getDate_out());
    }

    request.setAttribute("products", products);


在jsp中:

<table>
  <tr class="index">
    <td>Id</td>
    <td>Date IN</td>
    <td>Date OUT</td>
  </tr>
<c:forEach items="${requestScope.products}" var="product">
  <tr>
    <td>${product.oid}</td>
    <td>${product.date_in}</td>
    <td>${product.date_out}</td>
  </tr>
</c:forEach>
</table>


(现在product.date_in和product.date_out为Calendar格式。我希望它们为String格式)。

最佳答案

您可以创建一个自定义JSTL函数,并直接在您的JSP EL标记中使用它。

<td>${product.oid}</td>
<td>${nspace:formatDate(product.date_in)}</td>
<td>${nspace:formatDate(product.date_out)}</td>


其中nspace是分配给您的库的XML名称空间,而formatDate是您的方法。几个链接:

http://www.noppanit.com/how-to-create-a-custom-function-for-jstl/
http://anshulsood2006.blogspot.com.es/2012/03/creating-custom-functions-in-jsp-using.html

09-10 03:09
查看更多