JSP
JSTL의 <c:url> 태그
초코너무조코
2025. 2. 27. 14:35
728x90
JSTL(JavaServer Pages Standard Tag Library)은 JSP에서 자주 사용하는 기능을 태그 형태로 제공하여, 코드의 가독성을 높이고 유지보수를 쉽게 할 수 있도록 돕습니다. 그중에서도 <c:url> 태그는 URL을 동적으로 생성할 때 유용하게 사용됩니다.
<c:url> 태그의 주요 기능
- 컨텍스트 경로 자동 추가
- URL 인코딩 자동 처리
- 세션 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>
주의사항
- <c:url>은 상대 경로에만 컨텍스트 경로를 추가합니다.
- 절대 URL에는 컨텍스트 경로를 추가하지 않습니다.
- var 속성을 사용하지 않으면 URL이 즉시 출력됩니다.
장점
- 컨텍스트 경로 변경에 유연하게 대응
- URL 인코딩 자동 처리로 안전성 향상
- 세션 관리 용이성 (쿠키 비활성화 환경 대응)
<c:url> 태그를 활용하면 JSP 페이지에서 URL 관리를 보다 효율적이고 안전하게 할 수 있습니다. 특히 웹 애플리케이션의 컨텍스트 경로가 변경되더라도 코드 수정 없이 유연하게 대응할 수 있는 장점이 있습니다.
728x90