根据这个post from 3 years ago,在jstl标签中显示spring消息的唯一方法是将它包装在<c:set var="someVar">
中,它确实“有效”,但它看起来很不理想。
快进3年,这仍然是解决这个问题的唯一方法吗?
这是我的代码
有效,但不是“理想”
<c:set var="closeMessage">
<spring:message code='lman.ilr.closeItemDetail'/>
</c:set>
<dsg:sidePanelContent closePanelText="${closeMessage}">
不起作用,返回<spring:message code='lman.ilr.closeItemDetail'/>
<dsg:sidePanelContent closePanelText="<spring:message code='lman.ilr.closeItemDetail'/>">
答案 0 :(得分:9)
spring message标记,就像fmt:message
一样,有一个var属性,可用于存储消息而不是显示它。
阅读the documentation总是有帮助的。
另外,你的错误信息可能来自于在JSP的顶部声明spring taglib。
答案 1 :(得分:4)
以供参考,
<c:choose>
<c:when test="${serviceVO.id eq 0}">
<spring:message code="label.service.createservice" var="buttonName"/>
</c:when>
<c:otherwise>
<spring:message code="label.updateservice" var="buttonName"/>
</c:otherwise>
</c:choose>
<c:out value="${buttonName}"> //Prints the desired value...
答案 2 :(得分:0)
我想你想做的事是。
<spring:message code='lman.ilr.closeItemDetail' var="closeMessage"/>
然后
<dsg:sidePanelContent closePanelText="${closeMessage}">
答案 3 :(得分:0)
如上所述,
<spring:message code='lman.ilr.closeItemDetail' var="closeMessage"/>
<dsg:sidePanelContent closePanelText="${closeMessage}">
有效,因为标签具有用于上述目的的属性“ var”。 通过Spring Boot应用程序进行了测试,并且可以正常工作。