J'essaie de formater une date avec:
<fmt:formatDate value="${newsletter.createdOn}" pattern="MM/dd/yyyy"/>
newsletter est un objet avec une propriété createdOn
qui est Java.util.Date
.
Lorsque j'invoque la phrase précédente, j'obtiens:
Selon le TLD, la valeur d'attribut n'accepte pas les expressions.
J'importe fmt avec
<%@ taglib prefix="fmt" uri="http://Java.Sun.com/jstl/fmt" %>
Quelqu'un sait-il comment contourner ce problème?
J'utilise le jstl.jar fourni 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
Essayer
<%@ taglib prefix="fmt" uri="http://Java.Sun.com/jsp/jstl/fmt" %>
Ce type semble avoir contourné le problème en extrayant le TLD du pot, en le modifiant, en le plaçant dans le répertoire WEB-INF de WAR et en ajoutant une entrée à son web.xml
comme ça:
<jsp-config>
<taglib>
<taglib-uri>http://Java.Sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
</jsp-config>
Finalement, il est passé à la déclaration 1.1:
<%@ taglib uri="http://Java.Sun.com/jsp/jstl/fmt" prefix="fmt"/>
J'ai rencontré le même problème.
J'ai changé <% @ taglib prefix = "fmt" uri = "http://Java.Sun.com/jstl/fmt"%> en <% @ taglib prefix = "fmt" uri = " http://Java.Sun.com/jstl/fmt_rt "%> et cela a fonctionné pour moi!
Êtes-vous sûr de ne pas utiliser les versions d'exécution de la balise lib? Pouvons-nous voir l'instruction d'importation de bibliothèque?
Je pense que lucus est sur quelque chose, selon cela FAQ sur JavaRanch, c'est une déclaration JSTL 1.0. Vous voudrez peut-être mettre à jour vers 1.1.
Quels sont votre environnement, votre serveur d'applications et votre version?
Utilisez-vous JSTL 1.0 ou 1.1? formatDate en 1.1 devrait accepter les expressions.
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" %>
Je l'ai trouvé dans cet article
s'amuser!
Apparemment, j'avais besoin de 1.1, mais j'ai dû changer les instructions d'importation de bibliothèque pour c et fmt.
Maintenant ça marche. 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" %>
Utilisez-vous le fmt-1_0-rt.tld
ou fmt-1_0.tld
taglib.
La différence réside dans les paramètres de rtexprvalue
Dans l'un, c'est faux, dans l'autre c'est vrai.
<%@ taglib uri="http://Java.Sun.com/jsp/jstl/fmt" prefix='fmt'%>
travaille pour moi.