JSP/Servlet | JSTL(JSP Standard Tag Library) | <c:url>, <c:redirect>


URL 출력 <c:url>

<c:url> 태그는 url을 만들어 내는데, url를 인코딩 해주기도 하고 context를 자동으로 추가해서 주소를 자동으로 생성해 주지도 한다.

context 속성이 지정되었을 경우 value와 context 의 값은 /로 시작을 해야 된다. context 속성이 생략되면 현재의 컨텍스트가 적용된다.

문법

<c:url value="value" [context="context"] [var="varName"] [scope="{page|request|session|application}"]/>

속성

항목 설명 필수 여부 기본값
url 기본 URL 필수
context / 다음에 오는 로컬 어플리케이션의 이름 현재 어플리케이션
var 처리된 URL을 표시할 변수명 표시되는 페이지
scope 변수의 처리된 URL을 노출하는 범위 page

예제

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
  <head>
  <title>Tag Example</title>
</head>
<body>
  <a href="<c:url value='/hello.jsp?name=데브쿠마'/>">cookie.jsp</a><br><br>
  <a href="<c:url value='/' />">Context Root(/)</a>
</body>
</html>

아래 링크 태그를 클릭하면, http://localhost:8080/hello.jsp 로 이동한다.

<a href="<c:url value='/hello.jsp?name=데브 쿠마'/>">cookie.jsp</a><br><br>

<c:url>이 만들어 내는 url은 http://localhost:8080/web/jsp/hello.jsp 이고, 변수 name의 “데브 쿠마” 값에 공백이 있는 이는 %20으로 url이 인코딩되어 넘어간다.

아래 링크 태그를 클릭하면 http://localhost:8080/web/로 이동한다.

<a href="<c:url value='/'/>">Context Root(/)</a>

리다이렉트 <c:redirect>

속성

항목 설명 필수 여부 기본값
url 사용자 브라우저에서 리다이렉트하는 URL 필수
context / 다음에 오는 로컬 웹 응용 프로그램의 이름

예제

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
  <head>
     <title><c:redirect> Tag Example</title>
  </head>

  <body>
     <c:redirect url="http://www.devkuma.com"/>
  </body>
</html>

http://www.devkuma.com으로 이동한다.