将c:out标签与bean:message结合使用

时间:2012-11-21 13:21:58

标签: java jsp jstl el

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

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

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

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

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

<bean:message  var='navigation'/>

但十年前这种做事方式很好。

1 个答案:

答案 0 :(得分: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}'/>