使用jstl显示带有转义xml字符的属性上下文

时间:2012-11-16 12:39:41

标签: jsp java-ee escaping jstl el

我有一个包含jstl的页面。 在jsp文件中,我必须提取上下文属性:

<%= pageContext.getServletContext().getAttribute("NameOfMyAtribute")%>

并显示转义的xml字符:

<c:out escapeXml="true" value="  ?  "/>

怎么做?处理顺序是什么?如果我简单地说:

<c:out escapeXml="true" value="<%= pageContext.getServletContext().getAttribute("NameOfMyAtribute")%>"/>

它不会工作,即使它可能显示(没有xml字符)文本&lt; %= pageContext.getServletContext()。getAttribute(“NameOfMyAtribute”)%&gt; 而不是调用它。

1 个答案:

答案 0 :(得分:3)

<c:out value="${NameOfMyAttribute}"/>

<c:out value="${applicationScope.NameOfMyAttribute}"/>

忘掉scriptlets。它们不应该再被使用了。 EL查找页面范围属性,然后查找请求范围属性,然后查找会话范围属性,应用程序范围属性。

默认情况下escapeXml为真(因为这是<c:out>唯一的事情)