2013-04-11 15 views
6

が、私はこれを使用するためにJSTLにHTML文字をエスケープ避けるために知っている:JSTL escapeXmlのデフォルト

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

デフォルトでescapeXmlがfalseにするページディレクティブが存在する場合、私は疑問に思って、私はその上でそれを指定する必要はありません特定のページ。

+1

ユーザが制御する入力を再表示するときは、XSS攻撃の穴に注意してください。 – BalusC

答えて

14

上記は、がfalseに設定されているため、ではなく、エスケープHTMLです。デフォルトではescapeXmlがtrueで、<c:out>タグがHTMLをエスケープします。あなたは脱出したくない場合は、単に

${my.value} 

を使用することができますし、<c:out>の唯一の目的は、HTMLをエスケープすることがあるため、完全に<c:out>の使用は避けてください。

+3

'」を使用するのを忘れてしまった間違いです。 – Andreas