我有这个,这是有效的:
<c:choose>
<c:when test="${sometest}">
Hello, world!
</c:when>
<c:otherwise>
<fmt:message key="${page.title}" />
</c:otherwise>
</c:choose>
Run Code Online (Sandbox Code Playgroud)
我想把它改成这个:
<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
Run Code Online (Sandbox Code Playgroud)
但当然以下行不正确:
<c:set var="somevar" scope="page" value="<fmt:message key="${page.title}">"
Run Code Online (Sandbox Code Playgroud)
如何为somevar变量分配调用fmt:message产生的字符串?
Bal*_*usC 25
它fmt:message
有一个var
属性,可以有效地完成你想要的.
<fmt:message key="${page.title}" var="somevar" />
Run Code Online (Sandbox Code Playgroud)
就这样.为JSTL tlddoc添加书签,它可能会派上用场.
也可以使用body的内容指定要设置的值,而不是通过value属性:
<c:set var="somevar" scope="page">
<fmt:message key="${page.title}"/>
</c:set>
Run Code Online (Sandbox Code Playgroud)
小智 5
你必须这样做:
<c:set var="title"><fmt:message key="${page.title}"></c:set>
<c:set var="somevar" scope="page" value="${title}" />
Run Code Online (Sandbox Code Playgroud)
既然你不能<fmt:message .. />
在那个地方使用我的经验,就像你建议的那样嵌套.或者使用@balusc建议;-)