使用带有escapeXml =“false”的<c:out>标记是否等同于不使用<c:out>标记?

时间:2015-10-03 07:21:21

标签: jsp jstl xss

我已经读过,使用<c:out>标记会阻止XSS攻击,但在某些情况下,例如,使用<c:out>显示带上标的单位(kg / m 3 )显示为带有sup标记的纯文本(kg/m<sup>3</sup>)。为了正确显示,必须使用escapeXml="false"

<c:out value="${units}" escapeXml="false></c:out>

但我想知道在<c:out>中使用escapeXml="false"标记是否等同于不使用<c:out>标记本身?

1 个答案:

答案 0 :(得分:1)

<c:out value="${units}" escapeXml="false" />

这确实相当于在JSP 2.0或更新版本中不使用<c:out>,而只使用

${units}

在较旧的JSP版本(JSP 1.x)中,上面的模板文本中的EL 不支持,因此<c:out>是打印EL表达式的唯一方法。

另见: