jtls ejemplos curso java jsp jstl el

java - ejemplos - Asignar el resultado de otra etiqueta JSTL como valor de una etiqueta JSTL



jtls java (3)

Tengo esto, que funciona:

<c:choose> <c:when test="${sometest}"> Hello, world! </c:when> <c:otherwise> <fmt:message key="${page.title}" /> </c:otherwise> </c:choose>

Y quiero cambiarlo a esto:

<c:choose> <c:when test="${sometest}"> <c:set var="somevar" scope="page" value="Hello, world!"/> </c:when> <c:otherwise> <c:set var="somevar" scope="page" value="<fmt:message key="${page.title}">" </c:otherwise> </c:choose

Pero, por supuesto, la siguiente línea no es correcta:

<c:set var="somevar" scope="page" value="<fmt:message key="${page.title}">"

¿Cómo puedo asignar a la variable somevar la cadena resultante de una llamada a fmt: message?


También es posible especificar el valor para establecer utilizando los contenidos del cuerpo, en lugar de a través del atributo de valor:

<c:set var="somevar" scope="page"> <fmt:message key="${page.title}"/> </c:set>


Tendrá que ver con:

<c:set var="title"><fmt:message key="${page.title}"></c:set> <c:set var="somevar" scope="page" value="${title}" />

Como no puedes usar <fmt:message .. /> en ese punto es mi experiencia, tiene que ver con la anidación como sugeriste. O vaya con la sugerencia de @balusc ;-)


El fmt:message tiene un atributo var que hace efectivamente lo que quiere.

<fmt:message key="${page.title}" var="somevar" />

Eso es todo. Marcar el tlddoc JSTL , puede ser útil.