티스토리 뷰

 [jsp7강] JSTL 태그



이번 글에서는 JSTL 이란 태그에 대해서 알아보겠습니다.

만약 JSP 관련해서 태그들이 무엇인지 잘모르겟다면 아래글을 참고해주시면 되겠습다.


 이전 글 링크 

[jsp2강] JSP 스크립트 태그 -->           2018/08/03 - [Programming/JSP, JSTL] - [jsp2강] JSP 스크립트 태그

[jsp3강] JSP 액션 태그 -->           2018/08/04 - [Programming/JSP, JSTL] - [jsp3강] JSP 액션 태그

[jsp6강] EL 태그 -->           2018/10/06 - [Programming/JSP, JSTL] - [jsp6강] EL 태그


JSP 태그는 커스텀이 가능하여 새로운 태그를 만들수 있습니다.

JSTL 태그도 결국에는..누군가 쓰기 편하게 만들어 놓은 태그라이브러리 입니다.

사용법이 간단하여 사람들이 많이 사용하여 지금까지도 꾸준히 쓰이고 있는 JSP 태그 라이브러리 입니다.

그럼이제 JSTL 태그의 종류에 대해서 알아보겠습니다.


 사용법


사용법은 JSTL 라이브러리를 추가한후

( JSTL다운로드 사이트 --> http://tomcat.apache.org/taglibs/standard/ )


jsp 페이지 상단에 taglib 정의를 추가하여 사용하면됩니다.

(태그 종류별 선언법이 다르니 밑에서 하나하나씩 설명하겠습니다.)


 태그의 종류


JSTL 태그의 종류는 크게보면.. 

Core, Formatting, SQL, XML, Function

이렇게 5종류로 볼수있습니다.

종류별로 각각 선언이 다르며 태그종류도 다릅니다.

이렇게 나뉘어진 기준은 기능별로 나뉘어져 있다고 생각하시면 편하실것같습니다.

그럼 하나하나씩 살펴보도록 하겠습니다.



 1. JSTL Core 태그


JSTL 에서 가장많이 쓰입니다.

 Core 때문에 JSTL 이 쓰인다고 봐도 무방합니다..

 JSTL Core 사용하기위해선 JSP 페이지 상단에 선언을 해주셔야합니다.

선언 법은 다음과 같습니다.


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


그럼 이제 Core 태그 라이브러리에서 사용할수 있는 태그를 살펴보도록 하겠습니다.


 태그이름

설명 

<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 이동 




 2. JSTL Formatting 태그



JSTL Formatting 태그는 이름에서도 알수있듯이.. 
데이터의 포멧형태등을 정해주거 변경할때 사용하는 태그입니다.

JSTL Formatting 사용하기위해선 JSP 페이지 상단에 선언을 해주셔야합니다.


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

그럼 이제 Formatting 태그 라이브러리에서 사용할수 있는 태그를 살펴보도록 하겠습니다.


기능분류

태그이름 

설명 

로케일 지정

<fmt : setLocale />

 Locale을 지정

 <fmt : requestEncoding />

 요청 파라미터의 캐릭터 인코딩을 지정

메시지 처리

 <fmt : bundle />

 사용할 번들을 지정

 <fmt : message />

 지역에 알맞은 메시지를 출력

<fmt : setBundle />

 리소스 번들을 읽어와 특정 변수에 저장

숫자, 날짜 포맷팅

 <fmt : formatNumber />

 숫자를 포맷팅

 <fmt : formatDate />

 Date 객체를 포맷팅

 <fmt : parseDate />

 문자열로 표시된 날짜를 분석해서 Date 객체로 변환

 <fmt : parseNumber />

 문자열로 표시된 날짜를 분석해서 숫자로 변환

 <fmt : setTimeZone />

 시간대 정보를 특정 변수에 저장

 <fmt : timeZone />

 시간대를 지정



 3. JSTL SQL 태그


JSTL SQL 태그에 대해서 알아보겠습니다.
JSTL 로 DataBase 를 이용해서 SQL을 처리하는 작업 등에서 사용됩니다.
JSTL SQL 태그를 사용하기 위해서는 JSP 페이지 상단에 선언을 해주셔야합니다.

1
<%@ taglib prefix="sql" uri="http://jsava.sun.com/sjp/jstl/sql" %>
cs

그럼 이제 SQL 태그 라이브러리에서 사용할수 있는 태그를 살펴보도록 하겠습니다.

태그 

설명 

<sql : setDataSource />

데이터베이스 연결

 <sql : query />

쿼리

 <sql : udate />

 <sql : param />

<sql : dataParam />

 <sql : transaction />

 트랜잭션




 4. JSTL XML 태그


JSTL XML 태그에 대해서 알아보겠습니다.
XML 을 처리해주기 위한 출력, 흐름제어, XML 변환 등에 사용됩니다.
JSTL XML  태그를 사용하기 위해서는 JSP 페이지 상단에 선언을 해주셔야합니다.


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


그럼 이제 XML 태그 라이브러리에서 사용할수 있는 태그를 살펴보도록 하겠습니다.


태그 

설명 

<x:set>

xml 경로를 변수로 저장

 <x:out>

xml 내용을 출력

<x:if> :

<c:if>와 동일한 기능

<x:choose>

<c:choose>와 동일한 기능

(<x:when>, <x:otherwise> 사용이 가능)

<x:forEach>

<c:foEach>아 동일한 기능

 <x:param>

파라미터 사용시 사용

<x:parse>

xml 문저를 읽어서 파싱

<x:transform>

xmlxlt 파일을 결합해서 새로운 문서를 생성





 5. JSTL Function 태그


JSTL Function 태그에 대해서 알아보겠습니다.
Function 태그는 문자열이나 컬렉션의 가공, 변환, 분석을 위해 사용되는 태그입니다.
JSTL Function  태그를 사용하기 위해서는 JSP 페이지 상단에 선언을 해주셔야합니다.


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


그럼 이제 Function 태그 라이브러리에서 사용할수 있는 태그를 살펴보도록 하겠습니다.


태그

설명

 ${fn: length(obj)}

 objConllection인 경우 저장된 항목의 개수를, 문자인 경우 문자열의 길이를 반환

 ${fn: toUpperCase(str)}

 str을 대문자로 변환

 ${fn: toLowerCase(str)}

 str을 소문자로 변환

 ${fn: substring(str, idx1, idx2)}

 str.substring(idx1, idx2)의 결과를 반환, idx2-1일 경우 str.substring(idx1)과 동일

 ${fn: substringAfter(str1, str2)}

 str1에서 str1에 포함되어 있는 str2 이후의 문자열을 구함

 ${fn: substringBefore(str1, str2)}

 str1에서 str1에 포함되어 있는 str2 이전의 문자열을 구함

 ${fn: trim(str)}

 str 좌우의 공백 문자를 제거 

 ${fn: replace(str, src, dest)}

 str에 있는 srcdest로 변환

 ${fn: indexOf(str1, str2)}

 str1에서 str2가 위치한 인덱스를 구함

 ${fn: startsWith(str1, str2)}

 str1str2로 시작할 경우 true, 그렇지 않을 경우 false를 반환

 ${fn: endsWith(str1, str2)}

 str1str2로 끝나는 경우 true, 그렇지 안을 경우 false를 반환

 ${fn: contains(str1, str2)}

 st1str2를 포함하고 있을 경우 true를 반환

 ${fn: containslgnoreCase(str1, str2)}

 대소문자 구분없이 str1str2를 포함하고 있을 경우 true를 반환

 ${fn: split(str1, str2)}

 str2로 명시한 글자를 기준으로 str1을 분리해서 배열로 반환 

 ${fn: join(array, str2)}

 array에 저장된 문자열을 합침, 각 문자열의 사이에는 str2가 붙음

 ${fn: escapeXml(str)}

 XML의 객체 참조에 해당하는 특수문자를 처리함 



 글을 마치며..


이렇게 해서 간략하게 JSTL 태그의 종류 및 태그의 사용도 및 

태그별로의 사용할수 있는 태그에 대해서 알아보았습니다.

다음글에서부터 JSTL 태그별로 예제를 포함하여 자세히 다루어보겠습니다.

이상으로 JSTL 태그의 글을 마치도록 하겠습니다.

모두수고하세요! ^^


도움이 되셨다면 로그인 없이 가능한

아래 하트♥공감 버튼을 꾹 눌러주세요! 



댓글