【问题标题】:JSTL escapeXml defaultJSTL escapeXml 默认
【发布时间】:2013-04-11 20:27:54
【问题描述】:

我知道要避免在 JSTL 中转义 HTML 字符以使用它:

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

我想知道是否存在默认使 escapeXml 为 false 的页面指令,所以我不需要在该特定页面上指定它。

【问题讨论】:

  • 在重新显示用户控制的输入时要小心 XSS 攻击漏洞。

标签: jsp escaping jstl


【解决方案1】:

以上内容转义 HTML,因为 escapeXml 设置为 false。默认情况下,escapeXml 为 true,因此 &lt;c:out&gt; 标记会转义 HTML。如果你不想逃跑,你可以简单地使用

${my.value}

并完全避免使用&lt;c:out&gt;,因为&lt;c:out&gt; 的唯一目的是转义HTML。

【讨论】:

  • 虽然使用&lt;c:out value="${my.value}" escapeXml="false" /&gt; 清楚地表明您打算插入值而不转义,而${my.value} 可能是您忘记的错误使用&lt;c:out&gt;
猜你喜欢
  • 1970-01-01
  • 2016-11-03
  • 1970-01-01
  • 1970-01-01
  • 2012-06-27
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
相关资源
最近更新 更多