[JSTL] c:out 시 escape 처리 될때 (escapeXml) - Java



jstl의 c:out 태그는
속성중에 escapeXml 속성이 있다.(대소문자 주의!! 종종 escapeXML이라 치고 오류 나오는데 이유 못찾는 경우가 많다.)

따로 정의 하지 않으면 기본적으로 TRUE값으로 세팅되어서
< > & ' " 문자들을 각각 &lt; &gt; &amp; &#039; &#034; 으로 출력된다.

본인의 경우,
Spring 2.5에서 jsonView 형식으로 json 값을 리턴하려고 할때
c:out으로 출력한 값이 위처럼 변형되어 출력되어서 알게되었다.

즉, 특수문자들을 변형 안하고 출력시키기 위해선
다음과 같이 처리해주어야 한다.


1
<c:out value="${result}" escapeXml="false"/>
cs


------------------------------------------------
<c:out> tag in jstl has escapeXml attribute.(Not escapeXML!!)

"escapeXml" attribute's default value is "TRUE".
So, If you don't declare it on c:out tag,
c:out's value will be changed [ &lt; &gt; &amp; &#039; &#034; ] from [ < > & ' " ].

If you want value is not changed, you have to re-declare escapeXml is "false".
(I have this problem when I return json value unsing jsonView on Spring Framework 2.5) 






AD_1