web-dev-qa-db-ja.com

fmt:formatDate JSPで日付をフォーマットする

私は日付をフォーマットしようとしています:

<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を使用しています

33
Sergio del Amo

試す

<%@ taglib prefix="fmt" uri="http://Java.Sun.com/jsp/jstl/fmt" %>
42
lucas

この男 は、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"/>
5
sblundy

同じ問題が発生しました。

<%@ taglib prefix = "fmt" uri = "http://Java.Sun.com/jstl/fmt"%>を<%@ taglib prefix = "fmt" uri = "に変更しましたhttp://Java.Sun.com/jstl/fmt_rt "%>そしてそれは私のために働いた!

2
Gary

タグlibのランタイムバージョンを使用していませんか?ライブラリインポートステートメントが表示されますか?

lucus は何かの上にあると思います [〜#〜] faq [〜#〜] JavaRanchではこれはJSTL 1.0宣言です。 1.1に更新することをお勧めします。

環境、アプリサーバー、バージョンは何ですか?

1
sblundy

JSTL 1.0または1.1を使用していますか? 1.1のformatDateは式を受け入れる必要があります。

1
Michael Glenn

次のようにtaglib urlに「_rt」を追加するだけでうまくいきました。

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

私はそれを この記事 で見つけました

楽しんで!

1
oli

どうやら、私は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" %>
1
Sergio del Amo

fmt-1_0-rt.tldまたはfmt-1_0.tld taglibを使用していますか。

違いはrtexprvalueの設定です

一方では、これは偽であり、他方では、それは真です。

0
toolkit
<%@ taglib uri="http://Java.Sun.com/jsp/jstl/fmt" prefix='fmt'%>

私のために働いています。

0
sumit