2011-10-09 2 views
1

DB에 HTML 텍스트가 포함 된 필드가 있으며이를 JSP 페이지에 인쇄해야합니다. HTML을 어떻게 렌더링 할 수 있습니까? <c:out value="${text}" />을 사용하면 HTML 태그가있는 텍스트를 볼 수 있습니다. 즉, HTML을 벗어납니다.JSP 페이지에서 이스케이프 처리되지 않은 HTML 렌더링

+1

구문 분석을 통해 당신은 무엇을합니까? html로 렌더링하고 싶습니까? – Saket

+0

예, 죄송합니다, 렌더링을 의미합니다. –

답변

5

은 기본적으로 <c:out>는 XSS 공격을 방지하기 위해 XML 엔티티에게 <, >, &, "'를 이스케이프합니다.

${text} 

또는 escapeXml="false" attribute 추가 :

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

당신은 확인해야합니다

그래서 중 단지 <c:out> (JSP 2.0에서 작동하며 새로운)를 사용하지 않는 문제를 해결하기 위해 이 HTML이 신뢰할 수 있거나 매우 쉽게 XSS attack 구멍이됩니다. Jsoup이 도움이 될 수 있습니다. XSS prevention in JSP/Servlet web application도 참조하십시오.

관련 문제