JSP

JSTL의 <c:url> 태그

초코너무조코 2025. 2. 27. 14:35
728x90

JSTL(JavaServer Pages Standard Tag Library)은 JSP에서 자주 사용하는 기능을 태그 형태로 제공하여, 코드의 가독성을 높이고 유지보수를 쉽게 할 수 있도록 돕습니다. 그중에서도 <c:url> 태그는 URL을 동적으로 생성할 때 유용하게 사용됩니다.

<c:url> 태그의 주요 기능

  1. 컨텍스트 경로 자동 추가
  2. URL 인코딩 자동 처리
  3. 세션 ID 자동 추가 (필요한 경우) 

기본 사용법

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:url value="/some-page.jsp" var="myUrl"/>
<a href="${myUrl}">링크</a>
 

주요 속성

  • value: 생성할 URL (필수)
  • var: URL을 저장할 변수 이름
  • scope: 변수의 범위 (page, request, session, application)
  • context: 다른 컨텍스트의 URL을 생성할 때 사용

파라미터 추가

<c:url value="/search" var="searchUrl"> 
<c:param name="keyword" value="JSTL"/> <c:param name="page" value="1"/> </c:url>
 

변수 사용 예시

<c:url value="/user/${userId}"
var="userProfileUrl"/> <a href="${userProfileUrl}">사용자 프로필</a>

주의사항

  1. <c:url>은 상대 경로에만 컨텍스트 경로를 추가합니다.
  2. 절대 URL에는 컨텍스트 경로를 추가하지 않습니다.
  3. var 속성을 사용하지 않으면 URL이 즉시 출력됩니다.

장점

  1. 컨텍스트 경로 변경에 유연하게 대응
  2. URL 인코딩 자동 처리로 안전성 향상
  3. 세션 관리 용이성 (쿠키 비활성화 환경 대응)

<c:url> 태그를 활용하면 JSP 페이지에서 URL 관리를 보다 효율적이고 안전하게 할 수 있습니다. 특히 웹 애플리케이션의 컨텍스트 경로가 변경되더라도 코드 수정 없이 유연하게 대응할 수 있는 장점이 있습니다.

 

728x90