我有一个包含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; 而不是调用它。
答案 0 :(得分:3)
<c:out value="${NameOfMyAttribute}"/>
或
<c:out value="${applicationScope.NameOfMyAttribute}"/>
忘掉scriptlets。它们不应该再被使用了。 EL查找页面范围属性,然后查找请求范围属性,然后查找会话范围属性,应用程序范围属性。
默认情况下escapeXml
为真(因为这是<c:out>
唯一的事情)