yyyy tag number fmt jsp jstl

jsp - tag - jstl core



Formato de fecha con fmt: formatDate JSP (9)

¿Estás seguro de que no estás utilizando las versiones en tiempo de ejecución de la etiqueta lib? ¿Podemos ver la declaración de importación de la biblioteca?

Creo que lucus está en algo, de acuerdo con esta FAQ sobre JavaRanch, que es una declaración JSTL 1.0. Es posible que desee actualizar a 1.1.

¿Cuál es su entorno, servidor de aplicaciones y versión?

Estoy tratando de formatear una fecha con:

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

newsletter es un objeto con una propiedad createdOn que es java.util.Date .

Cuando invoco la oración anterior obtengo:

Según el TLD, el valor del atributo no acepta expresiones.

Estoy importando fmt con

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

¿Alguien sabe cómo puedo solucionar este problema?

Estoy usando el jstl.jar que viene con Tomcat.

En jstl.jar / META-INF / MANIFEST.MF permanece:

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

Estoy usando Apache Tomcat Version 6.0.14


¿Estás usando JSTL 1.0 o 1.1? formatDate en 1.1 debería aceptar expresiones.


¿Estás utilizando el fmt-1_0-rt.tld o fmt-1_0.tld ?

La diferencia es la configuración de rtexprvalue

En uno, esto es falso, en el otro es verdad.


Aparentemente, necesitaba 1.1, pero tuve que cambiar las instrucciones de importación de la biblioteca para c y fmt.
Ahora funciona. Gracias por la ayuda, y perdón por la confusión.

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


Me encontré con el mismo problema.

Cambié <% @ taglib prefix = "fmt" uri = "http://java.sun.com/jstl/ fmt "%> a <% @ taglib prefix = "fmt" uri = "http: //java.sun .com / jstl / fmt_rt "%> ¡y funcionó para mí!


Simplemente funcionó para mí al agregar "_rt" a taglib url de esta manera:

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

Lo encontré en este artículo

¡que te diviertas!


Tratar

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


Este tipo parece haber solucionado el problema extrayendo el TLD del contenedor, modificándolo, colocándolo en el directorio WEB-INF de WAR y agregando una entrada a su web.xml siguiente manera:

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

Al final, cambió a la declaración 1.1:

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


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

está trabajando para mí