将另一个JSTL标记的结果赋值为一个JSTL标记的值

2022-03-27 00:00:00 java jsp el jstl

我拿到了这个,它正在工作:

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

我想将其更改为:

<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

但当然以下行不正确:

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

如何将调用fmt:message产生的字符串赋给Somevar变量?


解决方案

fmt:message也有var属性,可以有效地执行您想要的操作。

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

仅此而已。将JSTL tlddoc添加为书签,它可能会派上用场。

相关文章