Web/JSTL

[JSTL] JSTL?

roundfigure 2021. 1. 13. 13:01

JSTL(JSP Standard Tag Library)

  • 커스텀 태그 중 자주 사용되는 태그를 모아 표준화한 라이브러리
  • 커스텀 태그: JSP에서 필요에 따라 새로운 태그를 추가할 수 있는 기능

 

태그라이브러리 별 선언문 - 기능사용을 위해 추가해야한다

1. Core  (prefix : c)

  • 일반 프로그래밍에서 제공하는 것과 유사한 변수선언
  • 실행 흐름의 제어 기능을 제공
  • 페이지 이동 기술 제공
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

 

2. Formatting (prefix : fmt)

  • 숫자, 날짜, 시간을 포매팅하는 기능을 제공
  • 국제화, 다국어 지원 기능 제공
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/fmt" %>

 

3. DataBase (prefix : sql)

  • DB의 데이터를 입력 / 수정 / 삭제 / 조회 하는 기능을 제공
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/sql" %>

 

4. XML (prefix : x)

  • XML문서를 처리할 때 필요한 기능 제공
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>

 

5. Function (prefix : fn)

  • 문자열을 제공하는 함수 제공
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

 

위 태그를 jsp 상단에 추가한다

 

 

자주쓰는 태그

1. <c:out>

  • 출력문을 만드는 태그이다

 

<c:out value="출력값" default="기본값" />
<c:out value="출력값">기본값</c:out>

 

2. <c:set>

  • 저장객체의 setAttribute 기능을 한다
<c:set var="변수명" value="값" scope="page(기본값)|request|session|application" />
<c:set var="변수명" scope="page(기본값)|request|session|application">값</c:set>

scope의 기본값은 page이다

 

3. <c:if>

  • if 조건문
  • test 안의 조건식이 true이면 내용이 실행된다
<c:if test="조건식" var="변수명" scope="page(기본값) | request | session | application">내용</c:if>

 

4. <c:choose>

  • 자바의 switch-case와 같은 기능을 수행한다.
<c:choose>
    <c:when test="조건식"></c:when>
    <c:when test="조건식"></c:when>
    ...
    <c:otherwise></c:when>
</c:choose>

<c:when> 태그는 한 개 이상 존재해야하며 <c:otherwise> 태그는 0개 혹은 1개가 올 수 있다

<c:when>의 조건에 일치하지 않으면 <c:otherwise>가 실행된다

 

5. <c:forEach>

  • 반복문 처리에 사용

 

<c:forEach var="변수명" items="목록 데이터" begin="시작 인덱스" end="종료 인덱스">콘텐츠</c:forEach>

지원되는 컬렉션

  • Arrays ( 배열 )
  • java.util.Collection
  • java.util.Iterator
  • java.util.Enumeration
  • java.util.Map