JSTL(JSP Standard Tag Library)

꿈나무기록장·2021년 1월 20일
0

2021웹캠프정리

목록 보기
19/25

JSTL (JSP Standard Tag Library) 이란?

  • JSP에서 사용되는 반복, 조건, 데이터관리, 데이터베이스 액세스, 시간, 숫자, 날짜, 문자열 가공등을 사용할 수 있는 표준라이브러리이다.
  • JSTL은 EL(Expression Language)를 사용하여 표현한다.

출처: https://hackersstudy.tistory.com/42 [공대인들이 직접쓰는 컴퓨터공부방]

JSTL의 이점

  • Fast Development: JSP를 단순화하는 많은 태그 제공
  • Code Reusability: 다양한 페이지에서 JSTL tag를 사용할 수 있다
  • No need to use scriptlet tag

JSTL Core Tag의 종류

태그 이름 설명
c:set / 변수의 선언 및 제거
c:remove /
c:out / 변수의 출력
c:catch / 예외 처리
c:if / 조건문 (else는 없다)
c:choose / Switch문과 비슷
c:when /
c:otherwise /
c:forEach / 반복문
c:forTokens / 구분자로 분할하여 반복문
c:url / URL 생성
c:param / 파라미터 추가
c:import / 페이지 첨부
c:redirect / URL 이동

각 Core Tag 설명

  • <c:set /> Tag
    • JSP의 setAttribute()와 같은 역할
  • <c:remove /> Tag
    • JSP의 removeAttribute()와 같은 역할
  • <c:out /> Tag
    • '<%=...>'와 같다. JSP의 표현식을 대체
  • <c:catch /> Tag
    • Body에서 실행되는 코드의 예외 처리
  • <c:if /> Tag
    • 조건문
  • <c:choose />, <c:when />, <c:otherwise />
    • Switch문과 동일, 여러개의 when 태그와 하나의 otherwise 태그를 가진다
    • <c:if /> 태그에 else가 없으므로 대체식으로도 많이 사용
  • <c:forEach /> Tag
    • 객체 전체에 걸쳐 반복 실행에 사용
  • <c:forTokens /> Tag
    • 문자열을 구분자(delimiter)로 분할
  • <c:url /> Tag
    • URL의 생성
  • <c:param /> Tag
    • 파라미터 추가
  • <c:import /> Tag
    • 페이지 첨부
  • <c:redirect /> Tag
    • sendRedirect()와 동일

JSTL Function Tag

: 문자열을 처리하는 함수를 제공

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

ex.

${fn:contains(str, str)}

${fn:split(str, '|')}
  • fn:contains(string, sbustring)
    • string이 substring을 포함하면 return true 반환
  • fn:containsIgnoreCase(string, sbustring)
    • 대소문자 관계없이 string이 substring을 포함하면 return true 반환
  • fn:startsWith(string, prefix)
    • string이 prefix로 시작하면 return True
  • fn:endsWith(string, suffix)
    • string이 suffix로 끝나면 return True
  • fn:escapeXml(string)
    • stting에 XML과 HTML에서 < >& ' " 문자들이 있으면, XML엔티티 코드로 바꿔준뒤 문자열 반환
  • fn:indexOf(string, sbustring)
    • string에서 substring이 처음으로 나타나는 인덱스 반환
  • fn:split(string, separator)
    • string내의 문자열 separetor에 따라 나누어서 배열로 구성해서 반환
  • fn:join(array, separator)
    • array요소들을 separator를 구분자로 하여 연결해서 반환
  • fn:length(item)
    • item이 배열이나 컬렉션이면 요소의 개수를 문자열이면 문자의 개수를 반환
  • fn:replace(string, before, after)
    • string내에 있는 before 문자열을 after 문자열로 모두 변경해서 반환
  • fn:substring(string, begin, end)
    • string에서 begin인덱스에서 시작해서 end인덱스에 끝나는 부분의 문자열 반환
  • fn:substringAfter(string, sbustring)
    • string에서 substring이 나타나는 이후의 문자열 반환
  • fn:substringBefore(string, sbustring)
    • string에서 substring이 나타나는 이전의 문자열 반환
  • fn:toLowerCase(string)
    • string을 모두 소문자로 변경 후 리턴
  • fn:toUpperCase(string)
    • string을 모두 대문자로 변경 후 리턴
  • fn:trim(string)
    • string앞뒤의 공백을 모두 제거한 후 반환

출처: https://cofs.tistory.com/262 [CofS]


JSTL Formatting tags

: 숫자, 날짜, 시간을 formatting하는 기능과 국제화, 다국어 지원 기능을 제공

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

  • 예제
    • fmt:parseNumber

JSTL XML tags

:XML 문서를 처리할 때 필요한 기능을 제공합니다.
XML 출력, 흐름 제어, XML 변환 등의 기능이 있습니다.

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

  • 예제
    • x:out

JSTL SQL Tags

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

  • 예제
    • sql:query
profile
초보자가 기록하는 곳

0개의 댓글