빨간색코딩

JSTL (종류, 사용법, core, fuctions) 본문

Spring

JSTL (종류, 사용법, core, fuctions)

빨간색소년 2018. 2. 25. 21:59

1. JSTL 이란?

JSTL은 JSP 표준라이브러리(JSP Standard Tag Library)의 약어이다. 자주 사용될 수 있는 커스텀 태그들을 모아서 표준으로 모아놓은 태그 라이브러리다.

JSTL 의 종류

라이브러리명접두어주요 기능URI
코어c변수 지원, 제어문, 페이지 관련 처리http://java.sun.com/jsp/jstl/core
함수fncollection 처리, String 처리http://java.sun.com/jsp/jstl/fuctions
포매팅fmt포맷 처리, 국제화 지원http://java.sun.com/jsp/jstl/fmt
데이터베이스sqlDB관련 CRUD 처리http://java.sun.com/jsp/jstl/sql
XMLxXML관련 처리http://java.sun.com/jsp/jstl/xml

사용법

위의 표에서 참고하여 JSP 상단에 <%@ taglib prefix="접두어" uri="URI 경로" %> 를 적어주면 된다. 접두어야 마음대로 쓸 수 있는 모양이지만 기왕이면 표준을 지키는게 좋지..

2. core 의 주요 기능

  • <c:set> : 변수 선언, 할당

    • scope 속성 : 범위 4가지(page, request, session, application), default 는 page
    • ex. int count = 10; = <c:set var="count" value="10">
  • <c:out> : 출력

    • ex. System.out.println("hello");을 간단하게 <c:out value="hello">
  • <c:remove> : 변수값 remove

    • scope 속성
  • <c:if> : if문, else문 없음

    • var 속성 : 조건식의 값을 저장할 변수
    • scope 속성 : boolean 변수가 사용될 범위를 뜻함
    • ex. <c:if test="조건식"> 참일때 실행할 문장 </c:if>
  • <c:choose>, <c:when>, <c:otherwise> : if-else 문 처럼 사용 가능

    • when 이 true 이면 해당 블럭 실행

    • 모든 when 이 false 이면 otherwise 블럭 실행

        <c:choose>
            <c:when test="${empty boardList}">
                등록된 글이 없습니다.
            </c:when>
            <c:when test="조건식">
                ...
            </c:when>
            <c:otherwise>
                ...
            </c:otherwise>
        </c:choose>
      
  • <c:forEach> : for문이다

    속성설명비고
    var사용할 변수명Required
    itemsCollection 객체(List, ArrayList)Required
    begin시작 index(default = 0)
    end종료 index(default = items크기-1)
    step증감 수
    varStatus반복상태를 알 수 있는 변수
      <c:forEach var="item" items="${list}" begin=0 end=5 step=1 varStatus="status">
          번호 : ${status.count}
          이름 : ${item.name}
          나이 : ${item.age}
          주소 : ${item.addr}
      </c:forEach>
    

3. fuctions 의 주요 기능

  • boolean startsWith(java.lang.String, java.lang.String) : 문자열A가 문자열B로 시작하는 경우, true 반환
    • ex. <a class="<c:if test="${fn:startsWith(servletPath, '/board')}">active</c:if>" href="/board">


Comments