2013-04-11 58 views
6

我知道,以避免在JSTL轉義HTML字符使用:JSTL將escapeXml默認

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

我想知道,如果存在一個頁面指令,使將escapeXml假默認情況下,所以我不需要指定它是特定頁面。

+1

當您重新顯示用戶控制的輸入時,請小心XSS攻擊漏洞。 – BalusC 2013-04-12 19:05:56

回答

14

以上是而不是轉義HTML,因爲escapeXml設置爲false。默認情況下,escapeXml爲true,並且<c:out>標記因此會轉義HTML。如果你不想逃避,你可以簡單地使用

${my.value} 

,並避免使用<c:out>完全,因爲<c:out>唯一的目的就是逃避HTML。

+3

儘管使用了''清楚地記錄了您希望*在不轉義的情況下插入值,而'$ {my.value}'可能在你忘記*使用''的地方是個錯誤。 – Andreas 2016-11-08 17:12:16