Pertanyaan Format Date dengan fmt: formatDate JSP


Saya mencoba memformat tanggal dengan:

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

newsletter adalah objek dengan createdOn properti yang java.util.Date.

Saat saya memanggil kalimat sebelumnya, saya mendapatkan:

Menurut TLD, nilai atribut tidak menerima ekspresi.

Saya mengimpor dengan

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

Apakah ada yang tahu bagaimana saya bisa mengatasi masalah ini?

Saya menggunakan jstl.jar yang datang dengan kucing jantan.

Di bawah jstl.jar / META-INF / MANIFEST.MF tetap:

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

Saya menggunakan Apache Tomcat Versi 6.0.14


34
2017-11-11 16:26


asal


Jawaban:


Mencoba

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

42
2017-11-11 16:37



Orang ini tampaknya telah mengatasi masalah dengan mengekstraksi TLD dari toples, memodifikasi, menempatkannya di direktori WEB-INF WAR, dan menambahkan entri ke web.xml seperti ini:

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

Pada akhirnya, dia beralih ke deklarasi 1.1:

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

5
2017-11-11 17:27



Saya mengalami masalah yang sama.

Aku berubah <% @ awalan taglib = "fmt" uri = "http://java.sun.com/jstl/fmt"%> untuk <% @ awalan taglib = "fmt" uri = "http://java.sun.com/jstl/fmt_rt"%> dan itu berhasil untukku!


2
2018-05-03 07:14



Apakah Anda menggunakan JSTL 1.0 atau 1.1? formatDate dalam 1.1 harus menerima ekspresi.


1
2017-11-11 16:39



Apakah Anda yakin tidak menggunakan versi runtime dari lib tag? Bolehkah kami melihat pernyataan impor perpustakaan?

kupikir lucus adalah sesuatu, menurut ini FAQ di JavaRanch, itu adalah deklarasi JSTL 1.0. Anda mungkin ingin memperbarui ke 1.1.

Apa lingkungan Anda, server aplikasi, dan versinya?


1
2017-11-11 16:33



Rupanya, saya membutuhkan 1.1 tetapi saya harus mengubah pernyataan impor perpustakaan untuk c dan fmt.
Sekarang berhasil. Terima kasih atas bantuannya, dan maaf atas kebingungannya.

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

1
2017-11-11 17:23



Itu hanya bekerja untuk saya dengan menambahkan "_rt" ke URL taglib seperti ini:

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

Saya menemukannya di artikel ini

Selamat bersenang-senang!


1
2018-02-23 08:44



Apakah Anda menggunakan fmt-1_0-rt.tld atau fmt-1_0.tld taglib.

Perbedaannya adalah pengaturan untuk rtexprvalue

Dalam satu, ini salah, di sisi lain itu benar.


0
2017-11-11 16:38



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

bekerja untukku.


0
2017-07-03 11:37