개발_웹/Java

Java | 태그가 적용되지 않고, 화면에 그대로 노출될 경우 (JSTL, escapeXml)

zuyo 2017. 9. 3. 22:36
반응형

 

 

위 화면처럼 태그가 그대로 나올 때 해결하는 방법

 

Case 1 (Java)

 

Java에서 태그 문자열를 아래와 같이 대체해본다.

 

str = str.replaceAll("&lt;", "<");

str = str.replaceAll("&gt;", ">");

 

 

Case 2 (JSTL)

 

escapeXml 값에 false를 줘본다.

 

escapeXml 의 defalut값은 true로, escapeXml을 설정하지 않거나, true로 설정할 경우, 문자열에 포함된 HTML 특수문자는 해당되는 문자 엔티티 코드로 변환되어 표시된다. 

 

true를 줬을 경우, 예를 들면 '<'는 '&lt'로 변환되고, 브라우저는 '&lt'를 '<'로 나타내게 되는 것이다(?)

 

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

 

반응형