2013-04-09 2 views
0

데이터베이스에 몇 가지 기본 HTML을 저장했습니다. 이 HTML은 ValueStack을 통해 Action 클래스에 JSP 파일에 <s:property value="htmlcodeString"/>으로 다시 표시됩니다.Struts2에서 HTML의 이스케이프 처리를 수행하는 방법

그러나, HTML 코드가 해석되지만 탈출 그대로 표시되지 않는다 (예. < B> BOLD </B> 대신 BOLD으로 도시 됨).

저는 Struts2를 사용하고 있습니다. <c:out value="${text}" escapeXml="false" />을 사용하려면 인터넷에서 많은 권장 사항을 발견했습니다. 그러나 나는 그것이 무엇인지 모른다. Struts2에서 어떻게 활용할 수 있습니까?

+2

''태그 문서를보고 HTML/XML 이스케이프 기능을 끄기위한 유사한 속성이 없는지 확인 했습니까? http://struts.apache.org/development/2.x/docs/property.html 그런데 사용자가 제어 할 수없는 입력에 대해 걱정할 필요가 없다면 XSS 공격 구멍을 열어 두는 것을 완전히 알고 있습니까? 이 방법? – BalusC

답변

4

The <s:property> tag에는 escapeHtml 속성이 있습니다. 기본값은 true입니다.

(희망 분명한 이유.)

<c:out>는 JSTL의 일부이며, 당신은 때문에 당신이 할 수있는 S2 요청 래퍼 있다는 단서하에 다른 웹 응용 프로그램에서 같은 S2에서 사용 JSP EL을 사용하여 값 스택에 액세스하십시오.

0

Google을 통해 질문을 보니 escapeHtml="false" 속성을 추가하면 JSP가 표시되지 않습니다. 대신 효과가 있었던 것은 escape="false입니다.

+1

'escape' 속성은 몇 년 전에 사용되지 않습니다. –

관련 문제