使用fmt:formatdatejsp格式化日期

使用fmt:formatdatejsp格式化日期,jsp,jstl,Jsp,Jstl,我正在尝试使用以下格式设置日期: <fmt:formatDate value="${newsletter.createdOn}" pattern="MM/dd/yyyy"/> 有人知道我如何解决这个问题吗 我正在使用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 Micr

我正在尝试使用以下格式设置日期:

<fmt:formatDate value="${newsletter.createdOn}" pattern="MM/dd/yyyy"/>
有人知道我如何解决这个问题吗

我正在使用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

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

根据JavaRanch上的这篇文章,我认为这是一个JSTL1.0声明。您可能需要更新到1.1

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

试试看

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

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

不同之处在于
rtexprvalue


一方面,这是错误的,另一方面,这是正确的。

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

显然,我需要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" %>

似乎已经解决了这个问题,从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>

http://java.sun.com/jstl/fmt
/WEB-INF/fmt.tld
最后,他转而使用1.1声明:

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

在taglib url中添加“\u rt”对我来说很有效,如下所示:

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

我在一个房间里找到的


玩得开心

我遇到了同样的问题

我变了 到 这对我很有效


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

正在为我工作。

将您的日期格式化为“MM/dd/yyyy”是错误的:)请改用MMM dd yyy,其中MMM是月份的名称。否则,比如说2009年1月6日,你的潜在读者会认为它是在6月1日发布的。你知道你在运行什么版本的Tomcat吗?好吧,我很困惑。您是否执行了干净的生成、关闭、删除%TOMCAT_HOME%\work、重新启动和重新部署以确保没有任何问题?干净的生成、关闭、删除%TOMCAT_HOME%\work、重新启动和重新部署没有帮助。您没有切换回1.0声明,是吗?您知道您正在使用的版本吗?不知道,我怎么知道这一点。我正在使用jstl.jar来定义这些标记。实际上,只修复taglib URI就足够了。与松散的TLD争论是一个很大的神话,真的不应该这样做。“This guy”链接被破坏了,因为你有一个过时的JSTL版本(那篇文章也很旧)。升级JSTL。阅读。区别在于…/jsp/。。。uri的一部分。
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix='fmt'%>