使用fmt函数需在jsp中引入
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:formatDate value="${item.expDate}" pattern="yyyy-MM-dd"/>
报java.lang.IllegalArgumentException: Cannot convert 20131125 of type class java.lang.String to class java.util.Date
异常 因为${item.expDate}取出来是String类型,无法转换为Date类型
如下将能正常输出
<fmt:formatDate value="<%=new Date() %>" pattern="yyyy-MM-dd"/>
解决办法是,可先将String解析为Date 然后再格式化Date 。
<fmt:parseDate value="${item.expDate}" var="yearMonth" pattern="yyyy-MM-dd HH:mm:ss"/>
<fmt:formatDate value="${yearMonth}" pattern="yyyy-MM-dd HH:mm:ss" /><!-- 这里的value只能是date类型-->
本文介绍了解决JSP中使用fmt:formatDate时遇到的类型转换异常问题。通过先将字符串类型的日期解析为Date类型,再进行格式化处理的方法,避免了因类型不匹配导致的错误。

578

被折叠的 条评论
为什么被折叠?



