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

JSP JSTL 태그 완벽 가이드: 용도, 속성, 사용 예제

<c:url> 태그란 무엇인가?

JSTL(JavaServer Pages Standard Tag Library)의 <c:url> 태그는 URL을 문자열 형태로 가공하여 변수에 저장하는 기능을 제공합니다. 세션 추적이 필요한 상황에서는 URL 재작성(URL Rewriting)을 자동으로 수행해 주며, var 속성을 지정하면 가공된 URL을 해당 변수에 담아 재사용할 수 있습니다.

본질적으로 <c:url> 태그는 서블릿 API의 response.encodeURL() 메서드를 호출하는 것과 동일한 역할을 하는 대체 문법입니다. 이 태그가 제공하는 실질적인 장점은, 하위 <c:param> 태그로 지정한 매개변수까지 모두 포함하여 URL을 올바르게 인코딩해 준다는 점입니다. 덕분에 쿼리 스트링에 특수문자나 공백이 포함되어 있어도 안전하게 처리됩니다.

주요 속성

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

속성설명필수 여부기본값
value기준이 되는 URL필수없음
context슬래시(/) 뒤에 로컬 웹 애플리케이션 이름을 지정선택현재 애플리케이션
var처리된 URL을 저장할 변수의 이름선택페이지에 바로 출력
scope처리된 URL을 담는 변수의 유효 범위선택page

사용 예제

다음은 <c:url> 태그를 활용해 링크 URL을 생성하는 기본적인 예제입니다.

<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
   <head>
      <title><c:url> 태그 예제</title>
   </head>
   <body>
      <a href = "<c:url value = "/jsp/index.htm"/>">TEST</a>
   </body>
</html>

위 코드를 실행하면 /jsp/index.htm 경로가 컨텍스트 경로와 함께 인코딩되어 링크가 생성되며, 화면에는 다음과 같이 출력됩니다.

TEST

정리

<c:url> 태그는 단순히 URL을 출력하는 것을 넘어, 세션 관리를 위한 URL 재작성과 매개변수 인코딩을 자동으로 처리해 주는 편리한 도구입니다. 특히 쿠키를 사용할 수 없는 환경에서 세션을 유지해야 하는 경우에 유용하며, <c:param> 태그와 함께 사용하면 동적인 쿼리 스트링도 안전하게 구성할 수 있습니다.