Формат даты с помощью fmt: formatDate JSP - PullRequest
33 голосов
/ 11 ноября 2008

Я пытаюсь отформатировать дату с:

<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" %>

Кто-нибудь знает, как я могу обойти эту проблему?

Я использую jstl.jar, поставляемый с tomcat.

Под 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 ]

42 голосов
/ 11 ноября 2008

Попробуйте

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
5 голосов
/ 11 ноября 2008

Этот парень , кажется, обошел проблему, извлекая TLD из фляги, модифицируя ее, помещая ее в каталог WEB-INF WAR и добавляя запись в его 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 голосов
/ 03 мая 2012

Я столкнулся с той же проблемой.

Я изменился <% @ taglib prefix = "fmt" uri = "http://java.sun.com/jstl/<strong>fmt"%> в <% @ taglib prefix = "fmt" uri = "http://java.sun.com/jstl/<strong>fmt_rt"%> и у меня это сработало!

1 голос
/ 23 февраля 2011

Это просто сработало для меня, добавив "_rt" в URL-адрес taglib следующим образом:

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

Я нашел это в этой статье

веселись!

1 голос
/ 11 ноября 2008

Очевидно, мне нужно было 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 голос
/ 11 ноября 2008

Вы используете JSTL 1.0 или 1.1? formatDate в 1.1 должен принимать выражения.

1 голос
/ 11 ноября 2008

Вы уверены, что не используете версии тега lib во время выполнения? Можем ли мы увидеть оператор импорта библиотеки?

Я думаю, lucus относится к чему-то, в соответствии с этим FAQ на JavaRanch, это объявление JSTL 1.0. Вы можете обновить до 1.1.

Какая у вас среда, сервер приложений и версия?

0 голосов
/ 03 июля 2014
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix='fmt'%>

работает на меня.

0 голосов
/ 11 ноября 2008

Используете ли вы тег * fmt-1_0-rt.tld или fmt-1_0.tld.

Разница в настройках rtexprvalue

В одном это неверно, в другом - правда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...