tag fmt java jsp java-ee web-applications jstl

java - fmt - prefix jstl



JSTL Core fmt: message Tag Mensaje dinĂ¡mico usando un archivo de paquete/propiedades (2)

Entiendo el uso del estándar fmt:message Tag, es decir, definimos algo como esto en el JSP:

<fmt:setBundle basename="ResourceBundles.ValidationErrorMessages" var="errorMessages" /> <fmt:message key="${error.value}" bundle="${errorMessages}" />

Supongamos que error.Value = "MQ2009"

Mi archivo de propiedades llamado "ValidationErrorMessages" tiene la siguiente entrada

MQ2009 = MQ time out

Ahora mi requisito es tener algo como

MQ2009 = Mq timeout happened for message {messagename}.

¿Puedo definir la variable messagename dinámicamente? Es decir, en el tiempo de ejecución, messagename estará disponible en el alcance de la solicitud y debe ser sustituido en el archivo de propiedades.

¿Cómo puedo hacer esto? ¿Necesito una etiqueta personalizada o Java EE proporciona esta característica que no conozco desactivada?


En tu archivo de propiedades

MQ2009 = Mq timeout happened for message {0}

Luego puede anidar una <fmt:param value="${messagename}"/> dentro de la etiqueta <fmt:message , donde messagename está en el ámbito de la solicitud.


Puede definir propiedades como

MQ2009 = Mq timeout happened for {0}

y entonces

<fmt:message key="MQ2009" var="val" > <fmt:param value="${valueComingFromSomeParameter}"/> </fmt:message>

y entonces

<c:out value="${val}"/>