▣ JSTL ( JSP Standard TAG Library ) 의 사용 - 많이 사용 되 는 사용 자 정의 태그 를 모아서 JSTL 이 라는 규약 이 만들 어 졌 습니다 . - 스 크 립 틀 릿 , 표현식 을 사용 하 는 것 보다 훨씬 간결 한 문법 구조 를 지원 합니다 . - JSTL 은 5 가지 의 태그 를 지원 합니다 . 라이브러리 기능 접두어 관련 URL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ------------------------- Core 변수 지원 , 흐름 제어 , URL 처리 c http : / / java . sun . com / jsp / jstl / core ★ XML XML 코어 , 흐름 제어 , XML 변환 x http : / / java . sun . com / jsp / jstl / xml 국제 화 지역 , 메시지 형식 , 숫자 및 날짜 형식 fmt http : / / java . sun . com / jsp / jstl / fmt 데이터베이스 SQL sql http : / / java . sun . com / jsp / jstl / sql 함수 콜렉션 처리 , String 처리 fn http : / / java . sun . com / jsp / jstl / functions ★ 1 . 설치 ( JSTL 을 사용 하 기 위한 환경 ) - http : / / jakarta . apache . org / taglibs / doc / standard - doc / intro . html . Standard Taglib nightly snapshot 에서 다운 합니다 . - 압축 을 해제 한 후 " F : \ JAVA \ jstl \ jakarta - taglibs - standard - 20050804 \ jakarta - taglibs \ standard \ lib " 폴더 안 에 있 는 ' jstl . jar ', ' standard . jar ' 파일 을 " D : \ tomcat - 5 . 0 . 19 \ common \ lib " 폴더 로 복사 합니다 . ▩ Core Tag 기능 태그 명 기능 설명 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ------------------------- 변수 지원 set jsp 에서 사용 될 변수 를 설정 합니다 . remove 설정 한 변수 를 제거 합니다 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ------------------------- 흐름 제어 if 조건 에 따라 내부 코드 를 수행 합니다 . choose 다중 조건 을 처리 할 때 사용 됩니다 . forEach Collection 의 각 항목 을 처리 할 때 사용 합니다 . forTokens 구분 자 로 분리 된 각각 의 토큰 을 처리 할 때 사용 합니다 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ------------------------- URL 처리 import URL 을 사용 하 여 다른 자원 의 결과 를 삽입 합니다 . redirect 지정 한 경로 로 이동 합니다 . url URL 을 재 작성 합니다 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ------------------------- 기타 태그 catch 예외 처리 에 사용 합니다 . out jspWriter 에 내용 을 알맞 게 처리 한 후 출력 합니다 . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ------------------------- ▩ EL & JSTL 의 사용 - Core Tag : 변수 지원 태그 의 사용 1 . 변수 지원 태그 , http : / / 127 . 0 . 0 . 1 : 8080 / jstl / setTag . jsp <%@ page contentType = " text / html ; charset = euc - kr " %><%@ taglib prefix =" c " uri =" http : / / java . sun . com / jsp / jstl / core " %>< c : set var =" num 1 " value ="${ 20 }" / >< c : set var =" num 2 "> 10 . 5 </ c : set >< c : set var =" today " value ="<%= new java . util . Date ( ) %>" / >< html >< head > < title > set 태그 와 remove 태그 </ title ></ head >< body > 변수 num 1 = ${ num 1 } < br > 변수 num 2 = ${ num 2 } < br > num 1 + num 2 = ${ num 1 + num 2 } < br > 오늘 은 ${ today } 입니다 . < c : remove var =" num 1 " scope =" page " / >< p > 삭제 한 후 의 num 1 = ${ num 1 } < br > 삭제 한 후 의 num 1 + num 2 = ${ num 1 + num 2 }</ body ></ html > 2 . Map 객체 의 사용 , http : / / 127 . 0 . 0 . 1 : 8080 / jstl / setTag 2 . jsp <%@ page contentType = " text / html ; charset = euc - kr " %><%@ taglib prefix =" c " uri =" http : / / java . sun . com / jsp / jstl / core " %>< c : set var =" map " value ="<%= new java . util . HashMap ( ) %>" / >< html >< head > < title > set 태그 와 remove 태그 </ title ></ head >< body >< c : set target ="${ map }" property =" name " value =" 왕눈이 " / > 변수 map 에 저장 된 name 값 : ${ map . name }</ body ></ html > ▩ EL & JSTL 의 사용 - Core Tag : 흐름 제어 태그 의 사용 1 . if 흐름 제어 태그 의 사용 - http : / / 127 . 0 . 0 . 1 : 8080 / jstl / ifTag . jsp - http : / / 127 . 0 . 0 . 1 : 8080 / jstl / ifTag . jsp ? name = tree - http : / / 127 . 0 . 0 . 1 : 8080 / jstl / ifTag . jsp ? name = tree & age = 25 - 한글 은 비교 가 안 됩니다 . <%@ page contentType = " text / html ; charset = euc - kr " %><%@ taglib prefix =" c " uri =" http : / / java . sun . com / jsp / jstl / core " %>< html >< head >< title > if 태그 </ title ></ head >< body >< c : if test =" true "> 무조건 수행 < br ></ c : if >< c : if test ="${ param . name == ' tree '}"> name 파라미터 의 값 이 ${ param . name } 입니다 . < br ></ c : if >< c : if test ="${ 18 < param . age }"> 당신 의 나이 는 18 세 이상 입니다 . </ c : if ></ body ></ html > 2 . choose Tag - when tag 는 조건 이 true 이 면 실행 합니다 . - http : / / 127 . 0 . 0 . 1 : 8080 / jstl / chooseTag . jsp <%@ page contentType = " text / html ; charset = euc - kr " %><%@ taglib prefix =" c " uri =" http : / / java . sun . com / jsp / jstl / core " %>< html >< head >< title > choose 태그 </ title ></ head >< body >< ul >< c : choose > < c : when test ="${ param . name == ' bk '}" > < li > 당신 의 이름 은 ${ param . name } 입니다 . </ c : when > < c : when test ="${ param . age > 18 }" > < li > 당신 은 18 세 이상 입니다 . </ c : when > < c : otherwise > < li > 당신 은 ' bk ' 가 아니 고 18 세 이상 이 아닙니다 . </ c : otherwise > </ c : choose > </ ul ></ body ></ html > 3 . forEach 태그 - Collection , Map , 배열 에 저장 되 어 있 는 값 에 순차 적 으로 접근 시 에 사용 합니다 . - http : / / 127 . 0 . 0 . 1 : 8080 / jstl / forEachTag . jsp <%@ page contentType = " text / html ; charset = euc - kr " %><%@ taglib prefix =" c " uri =" http : / / java . sun . com / jsp / jstl / core " %><% java . util . HashMap mapData = new java . util . HashMap ( ) ; mapData . put ( " name ", " 아 로미 "); mapData . put ( " today ", new java . util . Date ( ) ) ;%>< c : set var =" intArray " value ="<%= new int [ ] { 1 , 2 , 3 , 4 , 5 } %>" / >< c : set var =" map " value ="<%= mapData %>" / >< html >< head >< title > forEach 태그 </ title ></ head >< body >< h 4 > 1 부터 100 까지 홀수 의 합 </ h 4 >< c : set var =" sum " value =" 0 " / >< c : forEach var =" i " begin =" 1 " end =" 100 " step =" 2 ">< c : set var =" sum " value ="${ sum + i }" / ></ c : forEach > 결과 = ${ sum }< h 4 > 구구단 : 4 단 </ h 4 >< ul >< c : forEach var =" i " begin =" 1 " end =" 9 "> < li > 4 * ${ i } = ${ 4 * i }</ c : forEach ></ ul >< h 4 > int 형 배열 </ h 4 >< c : forEach var =" i " items ="${ intArray }" begin =" 2 " end =" 4 "> [ ${ i }]</ c : forEach >< h 4 > Map </ h 4 >< c : forEach var =" i " items ="${ map }"> ${ i . key } = ${ i . value }< br ></ c : forEach ></ body ></ html > 4 . forTokens Tag - http : / / 127 . 0 . 0 . 1 : 8080 / jstl / forTokensTag . jsp <%@ page contentType = " text / html ; charset = euc - kr " %><%@ taglib prefix =" c " uri =" http : / / java . sun . com / jsp / jstl / core " %>< html >< head >< title > forTokens 태그 </ title ></ head >< body > 콤마 와 점 을 구분 자 로 사용 : < br >< c : forTokens var =" token " items =" 빨 강색 , 주황색 . 노란색 . 초록색 , 파랑 색 , 남색 . 보라색 " delims =",.">${ token } </ c : forTokens ></ body ></ html > 출처 : Tong - 병조 님 의 JSP / Servlet 통