Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP에서 Java 표현식의 결과를 출력하는 방법 - c:out 태그 완벽 정리

JSP에서 표현식의 결과를 화면에 출력할 때 <c:out> 태그를 사용할 수 있습니다. 이 태그는 기존의 <%= %> 스크립틀릿 방식과 거의 유사하게 동작하지만, 한 가지 중요한 차이점이 있습니다. 바로 더 간결한 "." 점(.) 표기법을 사용해 객체의 속성에 접근할 수 있다는 점입니다.

예를 들어 customer.address.street과 같은 중첩된 속성 값에 접근하려면 다음과 같이 작성합니다.

<c:out value = "customer.address.street"/>

XML 자동 이스케이프 기능

<c:out> 태그의 또 다른 장점은 XML 특수 문자를 자동으로 이스케이프(escape) 처리한다는 것입니다. 덕분에 출력하려는 문자열에 HTML이나 XML 태그가 포함되어 있어도 실제 태그로 해석되지 않고 안전하게 화면에 그대로 표시됩니다. 이는 XSS(교차 사이트 스크립팅) 같은 보안 취약점을 예방하는 데도 큰 도움이 됩니다.

주요 속성

<c:out> 태그에서 사용할 수 있는 속성은 다음과 같습니다.

속성설명필수 여부기본값
value화면에 출력할 정보(표현식의 결과)필수없음
defaultvalue가 null일 경우 대신 출력할 대체 정보선택태그 본문(body)
escapeXml특수 XML 문자를 이스케이프 처리할지 여부(true/false)선택true

사용 예제

다음은 <c:out> 태그를 활용한 간단한 JSP 예제 코드입니다.

<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
   <head>
      <title> <c:out> Tag Example</title>
   </head>
   <body>
      <c:out value = "${'<tag> , &'}"/>
   </body>
</html>

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

<tag> , &

출력 결과를 보면 <tag>& 같은 특수 문자들이 실제 태그나 엔티티로 해석되지 않고, escapeXml 속성의 기본값인 true에 의해 이스케이프 처리되어 화면에 그대로 표시되는 것을 확인할 수 있습니다.