代码之家  ›  专栏  ›  技术社区  ›  NoozNooz42

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

  •  12
  • NoozNooz42  · 技术社区  · 14 年前

    <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?

    3 回复  |  直到 14 年前
        1
  •  25
  •   BalusC    14 年前

    这个 fmt:message var 属性,它有效地实现了你想要的。

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

    这就是全部。将 JSTL tlddoc

        2
  •  9
  •   Timo Westkämper    14 年前

    也可以使用正文的内容而不是通过value属性指定要设置的值:

    <c:set var="somevar" scope="page">
      <fmt:message key="${page.title}"/>
    </c:set>
    
        3
  •  5
  •   André van Toly    14 年前

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

    既然你不能用 <fmt:message .. />