[java] JSP : JSTL의 <c : out> 태그

JSP 페이지 작성, 정확히 무엇을 <c:out>합니까? 다음 두 가지 모두 동일한 결과를 나타냅니다.

<p>The person's name is <c:out value="${person.name}" /></p>
<p>The person's name is ${person.name}</p>



답변

c:out 크로스 사이트 스크립팅을 피할 수 있도록 HTML 문자를 이스케이프합니다.

만약 person.name = <script>alert("Yo")</script>

스크립트는 두 번째 경우에 실행되지만 사용할 때는 실행되지 않습니다. c:out


답변

Will Wagner가 말했듯이, 이전 버전의 jsp에서는 항상 c:out동적 텍스트를 출력 하는 데 사용해야 합니다.

또한 다음 구문을 사용합니다.

<c:out value="${person.name}">No name</c:out>

name이 null 인 경우 “No name”이라는 텍스트를 표시 할 수 있습니다.


답변

c:outperson.name이 null 인 경우 기본값을 할당하는 속성도 있습니다.

출처 : out (TLDDoc 생성 문서)


답변

escapeXml 값이 true와 같은 속성을 사용하여 Xml 엔터티의 이스케이프를 명시 적으로 활성화 할 수 있습니다. 참고로, 기본적으로 “true”입니다.


답변

이전 버전의 JSP는 두 번째 구문을 지원하지 않았습니다.


답변