使用fmt格式化日期:formatDate JSP

时间:2008-11-11 16:26:18

标签: jsp jstl

我正在尝试使用以下内容格式化日期:

<fmt:formatDate value="${newsletter.createdOn}" pattern="MM/dd/yyyy"/>

简报是一个createdOn属性为java.util.Date的对象。

当我调用上一句话时,我得到:

根据TLD,属性值不接受表达式。

我用

导入fmt
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>

有谁知道如何解决这个问题?

我正在使用tomcat附带的jstl.jar。

在jstl.jar / META-INF / MANIFEST.MF下停留:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.5.3 
Created-By: 1.4.2-b28 (Sun Microsystems Inc.)
Specification-Title: JavaServer Pages Standard Tag Library (JSTL)
Specification-Version: 1.1
Implementation-Title: JavaServer Pages Standard Tag Library API Refere
 nce Implementation
Implementation-Version: 1.1.0-D13
Implementation-Vendor: Sun Microsystems, Inc.
Implementation-Vendor-Id: com.sun
Extension-Name: javax.servlet.jsp.jstl

我正在使用Apache Tomcat版本6.0.14

9 个答案:

答案 0 :(得分:42)

尝试

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

答案 1 :(得分:5)

This guy似乎解决了这个问题,方法是从jar中提取TLD,修改它,将它放在WAR的WEB-INF目录中,并向他的web.xml添加一个条目,如下所示:

<jsp-config>
 <taglib>
  <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
  <taglib-location>/WEB-INF/fmt.tld</taglib-location>
 </taglib>
</jsp-config>

最后,他转向1.1声明:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"/>

答案 2 :(得分:2)

我遇到了同样的问题。

我改变了 &lt;%@ taglib prefix =“fmt”uri =“http://java.sun.com/jstl/ fmt ”%&gt; 至 &lt;%@ taglib prefix =“fmt”uri =“http://java.sun.com/jstl/ fmt_rt ”%&gt; 它对我有用!

答案 3 :(得分:1)

您确定没有使用标签库的运行时版本吗?我们可以看一下库导入语句吗?

根据JavaRanch上的这个lucus,我认为FAQ是一个东西,这是一个JSTL 1.0声明。您可能希望更新到1.1。

您的环境,应用服务器和版本是什么?

答案 4 :(得分:1)

您使用的是JSTL 1.0还是1.1? 1.1中的formatDate应该接受表达式。

答案 5 :(得分:1)

显然,我需要1.1但我必须更改c和fmt的库导入语句。
现在它有效。感谢您的帮助,对此感到抱歉。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

答案 6 :(得分:1)

通过向taglib url添加“_rt”,这对我来说很有用:

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt_rt" %>

我在this article

中找到了它

玩得开心!

答案 7 :(得分:0)

您使用的是fmt-1_0-rt.tld还是fmt-1_0.tld taglib。

区别在于rtexprvalue

的设置

一方面,这是错误的,另一方面则是如此。

答案 8 :(得分:0)

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix='fmt'%>

正在为我工​​作。