메뉴 건너뛰기

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. "알 수 없는 오류가 발생하였습니다." 라는 에러 메시지가 발생했을 때 대처법

    Date2018.06.12 Views4178
    Read More
  2. <c:url> 태그 사용법

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

    Date2019.02.28 Views1187
    Read More
  4. Aspect 어노테이션 사용을 위한 설정.

    Date2016.08.18 Views5022
    Read More
  5. CKEditor 사용 및 파일 업로드 적용

    Date2018.06.12 Views3165
    Read More
  6. ExcelUtil

    Date2021.03.09 Views330
    Read More
  7. forEach문은 아래와 같이 활용한다.

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

    Date2019.03.05 Views980
    Read More
  9. getFileMap() 메소드를 이용한 파일 업로드 기능 구현하기

    Date2016.09.21 Views6190
    Read More
  10. getFileNames() 메소드를 이용한 파일 업로드 기능 구현하기

    Date2016.09.21 Views5802
    Read More
  11. HTMLTagFilter ?

    Date2016.09.21 Views7757
    Read More
  12. java.lang.NoClassDefFoundError: org/springframework/dao/support/PersistenceExceptionTranslator

    Date2016.09.21 Views4162
    Read More
  13. JAVA에서 alert창 띄우기

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

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

    Date2018.12.06 Views1282
    Read More
  16. JSTL - <c:if>, <c:choose> 태그 사용법

    Date2019.02.28 Views2218
    Read More
  17. JSTL 숫자 포맷 맞추기 (<fmt:formatNumber> 사용 예제)

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

    Date2019.03.05 Views1066
    Read More
  19. message 사용을 위한 설정

    Date2016.09.21 Views6561
    Read More
  20. spring ckeditor 파일업로드 예제 (file upload)

    Date2018.06.12 Views4516
    Read More
Board Pagination Prev 1 2 3 Next
/ 3

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved