JSTL编号解析错误

时间:2015-04-29 15:03:08

标签: jsp jstl parseexception

我需要将当前年份作为存储在JSP页面中的变量中的整数值(例如2015) 这是我使用的JSTL标签:

<jsp:useBean id="date" class="java.util.Date" />
<fmt:formatDate var="currentYear" value="${date}" pattern="yyyy" />
<fmt:parseNumber var="currentYear" integerOnly="true" type="number" value="${currentYear}" parseLocale="en-US"/>

这就是我在Tomcat日志中遇到的错误:

[javax.servlet.ServletException: javax.servlet.jsp.JspException: In <parseNumber>, value attribute can not be parsed: "Wed Apr 29 00:42:30 CEST 2015"] with root cause
java.text.ParseException: Unparseable number: "Wed Apr 29 00:42:30 CEST 2015"
    at java.text.NumberFormat.parse(NumberFormat.java:350)
    at org.apache.taglibs.standard.tag.common.fmt.ParseNumberSupport.doEndTag(ParseNumberSupport.java:164)
    at org.apache.jsp.new_.reports_jsp._jspx_meth_fmt_005fparseNumber_005f0(reports_jsp.java:242)
    at org.apache.jsp.new_.reports_jsp._jspService(reports_jsp.java:136)

我做错了吗? 最奇怪的是,我只在日志中看到这个错误:如果我加载页面,一切正常,我看到当前正确的年份。

1 个答案:

答案 0 :(得分:1)

最后,我为我的问题使用了另一种解决方法:

<jsp:useBean id="date" class="java.util.Date" />
<c:set var="currentYear" value="${date.getYear() + 1900}" />