JSP显示Datetime而不是Date

时间:2014-01-08 16:29:12

标签: java jsp jstl

我有一个从Oracle数据库中获取记录的JSP。当我在Oracle中预先形成SQL查询时,我会以我期望的格式(即06-JAN-14)获取日期。

但是,在我的JSP中,我使用JSTL来查询数据库并将记录放入JQuery DataTable中。不幸的是,在这个过程的某个地方,时间戳被添加到日期,即(2014-01-07 00:00:00.0)。

这是我在JSP中的SQL查询。

<sql:query var="retrieveMovers" dataSource="jdbc/blahApp">
    SELECT * FROM blah
</sql:query>

这是我输出结果的表。

    <table id="movers" cellpadding="0" cellspacing="0" border="0" class="display" width="100%">
        <thead>
            <tr>
                <th>Security</th>
                <th>Comment</th>
                <th>Bid Price</th>
                <th>Bid Percent Change</th>
                <th>Security Description</th>
                <th>Date</th>
            </tr>
        </thead>
        <tbody>
            <c:forEach var="row" items="${retrieveMovers.rows}">
                <tr>
                    <td>${row.security}</td>
                    <td>${row.comment}</td>
                    <td>${row.bid_price}</td>
                    <td>${row.bid_percent_change}</td>
                    <td>${row.security_description}</td>
                    <td>${row.date}</td>
                </tr>
            </c:forEach>
        </tbody>
    </table> 

有人可以提出任何建议,以确保我的日期行没有添加时间戳吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

日期没有任何内在格式。您所看到的是在行的toString()实例上调用java.sql.Timestamp的结果。您应该根据需要格式化日期:

<fmt:formatDate value="${row.date}" pattern="dd MMM yyyy" />

例如。

答案 1 :(得分:3)

试试这个

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
...
<fmt:formatDate value="${bean.date}" pattern="yyyy-MM-dd" />