메뉴 건너뛰기

2019.02.28 02:35

<c:url> 태그 사용법

조회 수 4333 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부


<c:url> 태그는 URL에 자동으로 Context Path 를 붙여주는 일을 합니다. 컨텍스트를 변경하더라도 URL을 수정할 필요가 없게 되는 것입니다.


이 태그는 jstl core 태그에 포함되어 있으므로 <c:url> 을 사용하려면 다음 tablib 지시자를 페이지 상단에 포함하여야 합니다.


<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


일반적인 사용법을 다음과 같습니다.


<img src="<c:url value='/images/btn/add.png' />" />


웹애플리케이션의 컨텍스트 패스가 http://도메인/site/ 로 되어 있다면 위의 코드는 출력시 아래와 같이 변환됩니다.


<img src="/site/images/btn/add.png" />


<c:url> 태그를 사용할 때 생성된 URL의 끝에  jsessionid 가 붙을 경우를 주의해야 합니다. 컨텍스트 패스가 추가가 되므로 대부분의 경우 아래의 코드는 잘 동작합니다.


<img src="<c:url value='/' />/images/btn/add.png" />


하지만 서버 설정에 때라 세션 아이디가 URL에 붙는 경우가 있습니다. 이런경우 위 코드는 출력이 다음과 같에 만들어져 오류가 발생합니다.


<img src="/site/;jsessiond=xxxxxx/images/btn/add.png" />


<a> 태그에 사용될 때 URL에 GET 방식으로 전달되는 파라미터가 많이 사용됩니다. 다음과 같은 형식입니다.


<a href="<c:url value='/userSearch.do?name=홍길동&page=3' />">3 페이지</a>


조회값이 계속 URL에 따라 다녀야 할 경우 입니다. 이경우 name의 값을 URL 인코딩을 해야 하는데 <param> 프로퍼티를 사용해서 인코딩 할 수 있습니다.


<c:url value="/userSearch.do" var="url">

  <c:param name="name" value="홍길동" />

  <c:param name="page" value="3" />

</c:url>


<a href="${url}">3 페이지</a>


<c:url> 태그의 var 속성은 생성된 URL을 변수에 할당하여 다른곳에 사용할 수 있도록 해 줍니다.


var 속성이 유용하게 사용될 수 있는 곳에 <form:form> 태그 입니다.  <form:form> 태그의 action 속성에는 <c:url> 태그를 사용할 수 없습니다. 그러므로 변수에 셋팅한 후에 폼 태그에서 사용할 수 있습니다.


<c:url value="/insert.do" var="insertUrl" />

<form:form action="${insertUrl}">

...

</form>


참고로 <c:url> 태그를 사용하지 않고도 jsp 컨텍스트 패스를 붙이려면 다음과 같이 사용하면 되겠습니다.


<form:form action="${pageContext.request.contextPath}/insert.do">

...

</form>


  1. ExcelUtil

    Date2021.03.09 Views330
    Read More
  2. 서버로부터 메시지 받아서 팝업 띄우기 (1. ModelAndView 이용)

    Date2021.03.09 Views574
    Read More
  3. Spring source 배포 및 Tomcat Server 셋팅

    Date2019.03.05 Views1346
    Read More
  4. form에서 enctype="multipart/form-data"로 보낸 데이터를 request로 받기

    Date2019.03.05 Views980
    Read More
  5. JAVA에서 alert창 띄우기

    Date2019.03.05 Views1588
    Read More
  6. JSTL 숫자 포맷 맞추기 (<fmt:formatNumber> 사용 예제)

    Date2019.03.05 Views1182
    Read More
  7. JSTL을 이용하여 합계 구하기

    Date2019.03.05 Views1066
    Read More
  8. forEach문은 아래와 같이 활용한다.

    Date2019.03.05 Views916
    Read More
  9. [JSTL core] [c:forEach] varStatus를 활용한 변수

    Date2019.03.05 Views1048
    Read More
  10. 전자정부표준프레임워크 파일 업로드 크기 설정(feat. MaxUploadSizeExceededException)

    Date2019.02.28 Views1107
    Read More
  11. @SessionAttributes와 SessionStatus 사용하기(세션에 모델 객체 저장)

    Date2019.02.28 Views1187
    Read More
  12. 스프링프레임워크 <form:form> 태그 사용법

    Date2019.02.28 Views3514
    Read More
  13. JSP에서 지시자(Directive) 또는 태그라이브러리에 의한 공백 라인을 제거하는 방법

    Date2019.02.28 Views800
    Read More
  14. <c:url> 태그 사용법

    Date2019.02.28 Views4333
    Read More
  15. JSTL - <c:if>, <c:choose> 태그 사용법

    Date2019.02.28 Views2218
    Read More
  16. 이클립스(Eclipse) 한글 언어팩 설치. Babel 프로젝트

    Date2018.12.07 Views1199
    Read More
  17. 이클립스(Eclipse) 소스 일괄 수정

    Date2018.12.07 Views1097
    Read More
  18. 전자정부프레임워크 설치 및 실행

    Date2018.12.07 Views1384
    Read More
  19. JSP에서 지시자(Directive) 또는 태그라이브러리에 의한 공백 라인을 제거하는 방법

    Date2018.12.06 Views1282
    Read More
  20. 스프링프레임워크 <form:form> 태그 사용법

    Date2018.12.06 Views1182
    Read More
Board Pagination Prev 1 2 3 Next
/ 3

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved