java.lang.IllegalArgumentException: Cannot convert ... JSTL格式化日期fmt:formatDate,fmt:parseDate

java.lang.IllegalArgumentException: Cannot convert ... of type class java.lang.String to class java.util.Date 异常

是因为${a.createtime}取出来是String类型,无法转换为Date类型的数据 


解决方法:先将String解析为日期类型,再格式化日期
<!--  string类型转化为日期类型-->
<fmt:parseDate value="${a.createtime }" var="riqi" pattern="yyyy-MM-dd"/>

<!--日期类型格式化      fmt:formatDate 的value只能是日期类型 -->
<fmt:formatDate value="${riqi}" pattern="yyyy-MM-dd" />

<!--如果直接在页面中new了一个日期类型,可以直接使用,不用转换-->
<fmt:formatDate value="<%=new Date() %>" pattern="yyyy-MM-dd"/>
注意:使用fmt格式化时不要忘了在jsp中引入 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

猜你喜欢

转载自blog.csdn.net/m0_37679452/article/details/78954448
今日推荐