2

假设我有一个包含动态标签的变量,我该如何实现这样的事情(导航是请求范围属性):

<fmt:message  var='<c:out value="${navigation}"/>'/>

或者

<bean:message  var='<c:out value="${navigation}"/>'/>

实际上直到现在都是这样处理的:

<%
    String navigation = (String)request.getAttribute("navigation");
%>

<bean:message  var='navigation'/>

但是这种做事方式在十年前还是不错的。

4

1 回答 1

1

就像是:

<c:set var="temp"><c:out value="${navigation}"/></c:set>
<fmt:message var='${temp}'/>

您确定要使用var=而不是key=使用该var=属性将消息的值放在名为该值的变量中,并且不会将其输出到响应中。

<c:set var="temp">something-complex-<c:out value="${navigation}"/></c:set>
<fmt:message key='${temp}'/>

注意这也可以写成:

<fmt:message key='something-complex-${navigation}'/>
于 2012-11-21T13:36:47.290 回答