JSTL-将formatDate与java.sql.Timestamp一起使用

萨拉船只:

我有以下标签:

<%@ tag body-content="empty"%>
<%@ attribute name="timestamp" required="true" type="java.sql.Timestamp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<jsp:useBean id="dateValue" class="java.util.Date" />
<c:if test="${not empty timestamp}">
    <jsp:setProperty name="dateValue" property="time" value="${timestamp}" />
    <span title="${timestamp}"> <fmt:formatDate value="${dateValue}"
            pattern="MM/dd/yyyy HH:mm" /> </span>
</c:if>

但是,我得到以下错误:

错误500:com.ibm.ws.jsp.JspCoreException:java.lang.IllegalArgumentException:无法将类型为java.sql.Timestamp的5/1/12 10:36 AM转换为long

我试图按照此答案将时间戳转换为JSTL中的日期,因此我不会在servlet中进行任何更改。如何使用JSTL 将a转换java.sql.Timestamp为日期以便formatDate可以使用它?

BalusC:

您需要传递Timestamp#getTime()

<jsp:setProperty name="dateValue" property="time" value="${timestamp.time}" />

但这毫无意义。java.sql.Timestamp已经的子类java.util.Date所以这也应该做:

<%@ attribute name="timestamp" required="true" type="java.sql.Timestamp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<c:if test="${not empty timestamp}">
    <span title="${timestamp}"><fmt:formatDate value="${timestamp}"
            pattern="MM/dd/yyyy HH:mm" /></span>
</c:if>

顺便说一句,我也将更改您的模型以将该属性声明为java.util.Date您不应java.sql.Timestamp在模型和视图中使用,而应仅在数据层中使用。您无需通过解析/格式化转换ResultSet#getTimestamp()java.util.Date仅仅上调就足够了。

例如

import java.util.Date;

public class SomeModel {

    private Date somefield;

    // ...
}

someModel.setSomefield(resultSet.getTimestamp("somefield"));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使Java与SQL Server一起使用?

使用JSTL formatDate标签显示当前日期

JSTL sql:查询变量

将SQL聚合函数与多个联接一起使用

如何将Sum SQL和Spring Data JPA一起使用?

将MySQL与Oracle SQL Developer一起使用

MS Access SQL:将SELECT INTO与UNION ALL查询一起使用

将包含与EF一起使用时可能进行SQL注入?

java.sql.SQLException:将HikariCP与Hive JDBC一起使用时不支持该方法

将TLS 1.2与C#.Net Winform App和SQL Server 2008一起使用

将SQL Over语句与滚动总和一起使用

SQL Server:将GROUP BY与CASE一起使用后,ORDER BY不起作用

将约会存储在诸如Postgres之类的SQL数据库中以与java.time框架一起使用

将SQL的CONVERT(binary,?)与Laravel的whereRaw一起使用

如何将MS SQL STUFF与subselect一起使用?

如何将linq-to-sql与参考一起使用?

SQL Server-将DATEDIFF与子查询列一起使用

SQL将sum命令与“ in”子句一起使用

SQL Server:将CASE与LIKE一起使用

将报告分组在一起(可能与SQL一起使用)?

SQL:将列名与模式名一起使用是否正常?

将Gii与SQL Server一起使用

如何将 Sum SQL 与 Spring Data MongoDB 一起使用?

如何通过资源将格式字符串与 SQL 查询一起使用

无法将 UTC_TIMESTAMP 与 AS 一起使用

我如何将 COUNT 与 JOIN SQL 3 表一起使用

将 foreach/while/loop 与 sql 查询一起使用

SQL:将 rank() 与聚合函数一起使用

SQL 注入预防将参数与方法 pluck 和 <<~INFO_SQL 一起使用