etc

[JSP]JSTL-개념,종류,사용방법

다당근 2021. 10. 22. 20:17

 

 

 

목차

     

     

    JSTL 뜻

    el태그란 Expression Language로, JSP문법 코드를 좀 더 간결하게 사용할 수 있도록 지원해준다.

     

    종류

    JSTL에서는 용도에 따라 다섯가지 라이브러리를 제공한다.

     


    1. Core

    기본적인 변수선언, 조건,제어,반복문 기능 제공

     

    사용 방법

    JSP상단에 추가

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

    태그 종류

    이름 설명
    <c:set/> 변수 선언
    <c:remove/> 변수 제거
    <c:out/> 변수 출력
    <c:catch/> 예외 처리
    <c:if/> 조건문
    <c:forEach/> 반복문
    <c:param/> 파라미터 추가
    <c:redirect/> URL 로 이동
    <c:choose/> 조건문
    <c:when/> 조건문

     

    태그 사용법

    1. <c:if/>

    <c:if test="조건식">실행문</c:if>

    2. <c:choose/>

    <c:choose>
      <c:when test="조건식">실행문</c:when>
      <c:when test="조건식">실행문</c:when>
      <c:otherwise>위 조건에 모두 해당하지 않을 경우</c:otherwise>
    </c:choose>

     


    2. Formatting

    날짜,숫자,시간 등을 형식화하는 기능

    사용 방법

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

     

    태그 종류

    이름 설명
    <fmt:setLocale/> Locale 지정
    <fmt:formatNumber/> 숫자 형식 지정
    <fmt:formatDate/> Date 형식 지정
    <fmt:timeZone/> 시간대 지정

     


    3. XML

    XML 처리를 위한 출력,변환 등의 기능을 제공

     

    사용 방법

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

     

    태그 종류

    이름 설명
    <x:set/> xml 경로를 변수로 저장
    <x:out/> xml 내용 출력
    <x:parse/> xml 문서를 읽어서 파싱
    <x:choose/>,<x:forEach/>,<x:if/> <c:choose>,<c:forEach>,<c:if>와 같은 기능

     


     

    4. SQL

    사용 방법

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

     

    태그 종류

    이름 설명
    <sql:setDataSource/> DB 연결
    <sql:query/> 쿼리 문장 실행
    <sql:param/> sql 태그에 파라미터 삽입
    <sql:transaction/> 트랜잭션 설정

     

    태그 사용법

    1. <sql:query/>

    <sql:query var="변수명" dataSource="데이터소스 변수명" />
        SELECT * FROM ADMIN
    </sql:query>

     


    5. Functions

    사용 방법

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

     

    태그 종류

    이름 설명
    ${fn:substringAfter(str1,str2)} str1에서 str1에 포함되어 있는 str2 이후의 문자열을 구함
    ${fn:startsWith(str1,str2)} str1이 str2로 시작할 경우 true, 아니면 false 반환
    ${fn:endsWith(str1,str2)} str1이 str2로 끝나는 경우 true, 아니면 false 반환
    ${fn:split(str1,str2)} str2로 명시한 글자를 기준으로 str1을 분리해서 배열로 반환
    ${fn:join(array,str2)} array에 저장된 문자열을 합친다.
    ${fn:replace(str,src,dest)} str에 있는 src를 dest로 반환

     

    태그 사용법

    1.${fn:startWith(str1,str2)}

    ${fn:starstWith("Hello World","w")} // 결과값 : true

    2. ${fn:replace}

    ${fn:replace("문자열", "기존값", "변경값")}
    ${fn:replace("Hello World", " ", "_")} // Hello_World