Format Date avec fmt: formatDate JSP

j'essaie de formater une date avec:

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

bulletin d'information est un objet avec un "151930920 de la propriété" qui est java.util.Date .

quand j'invoque la phrase précédente je reçois:

selon le TLD, la valeur de l'attribut n'accepte pas les expressions.

j'importe fmt avec

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

personne Ne sait comment contourner ce problème?

j'utilise le jstl.jar arrive avec tomcat.

sous jstl.jar / META-INF / MANIFEST.MF reste:

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

J'utilise Apache Tomcat Version 6.0.14

34
demandé sur Sergio del Amo 2008-11-11 19:26:18

9 réponses

Essayer

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
43
répondu lucas 2008-11-11 16:37:13

ce type semble avoir contourné le problème en extrayant le TLD du bocal, en le modifiant, en le plaçant dans le répertoire WEB-INF de la guerre, et en ajoutant une entrée à son web.xml comme ceci:

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

à la fin, il est passé à la déclaration 1.1:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"/>
5
répondu sblundy 2008-11-11 17:27:02

j'ai rencontré le même problème.

J'Ai Changé < % @ taglib prefix = " fmt " uri="http://java.sun.com/jstl / fmt " %> de < % @ taglib prefix = " fmt " uri="http://java.sun.com/jstl / fmt_rt " %> et il a travaillé pour moi!

2
répondu Gary 2012-05-03 07:14:08

utilisez-vous JSTL 1.0 ou 1.1? formatDate sous 1.1 doit accepter les expressions.

1
répondu Michael Glenn 2008-11-11 16:39:24

êtes-vous sûr que vous n'utilisez pas les versions runtime de l'étiquette lib? Pouvons-nous voir la déclaration d'importation de la bibliothèque?

je pense que lucus est sur quelque chose, selon ce FAQ sur JavaRanch, c'est une déclaration JSTL 1.0. Vous pourriez vouloir mettre à jour 1.1.

Quel Est votre environnement, votre serveur d'applications et votre version?

1
répondu sblundy 2017-05-23 12:19:33

apparemment, j'avais besoin de 1.1 mais j'ai dû changer les déclarations d'importation de bibliothèque pour c et fmt.

Maintenant, il fonctionne. Merci pour l'aide, et désolé pour la confusion.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
1
répondu Sergio del Amo 2008-11-11 17:23:13

cela a juste fonctionné pour moi en ajoutant "_rt" à l'url taglib comme ceci:

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

j'ai trouvé dans cet article

amusez-vous bien!

1
répondu oli 2011-02-23 08:44:29

utilisez-vous le fmt-1_0-rt.tld ou fmt-1_0.tld taglib.

la différence est les réglages pour rtexprvalue

Dans l'un, c'est faux, dans l'autre c'est vrai.

0
répondu toolkit 2008-11-11 16:38:28
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix='fmt'%>

travaille pour moi.

0
répondu sumit 2014-07-03 12:03:22