⁂ JSP/: 기본 익히기

[JSP] #11-4 JSTL(JSP Standard Tag Library, JSP전용태그)

김갱환 2022. 10. 26. 15:45

1. JSTL?

 

 JSTL이란 JSP Standard Tag Library, JSP전용태그를 뜻한다.

 사용하는 방법은 우선 WEB-INF 안에 lib 폴더에 라이브러리를 넣어주면 된다.

 

 이 .jar 파일들은 톰캣을 설치할 때 함께 다운되어진다.

 위치는 다 다를 수 있지만 필자의 경우에는 apache-tomcat-9.0.67\webapps\examples\WEB-INF\lib 에 있었다.

 

 그리고 지시자를 활용하여 taglib 를 지정해준다.

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

 

 이렇게 지정해주지 않으면 JSTL은 절대 사용할 수 없으니 꼭 지정해주자.

 

    라이브러리     접두어   URI

    코어                    c        http://java.sun.com/jsp/jstl/core
                                                변수지원,흐름제어,URL처리
    XML                     x        http://java.sun.com/jsp/jstl/xml
                                                XML관련처리, XML흐름제어
    국제화                fmt      http://java.sun.com/jsp/jstl/fmt
                                                국제화처리, 메시지관리
    데이터베이스      sql      http://java.sun.com/jsp/jstl/sql
                                                데이터베이스 접근
    함수                    fn       http://java.sun.com/jsp/jstl/functions
                                                collection 처리, String 처리

 

 

2. JSTL 태그 사용해보기

 

 JSTL도 넣어두었으니 이제 사용해보자.

 먼저 태그를 시작하기 위해 < 를 쓰고 c를 입력해보자.

 

 위와 같이 c: 로 시작하는 수많은 태그들이 생겨났다.

 JSTL의 태그들은 아래와 같다.

 

<c:set> 변수명에 값을 할당
<c:out> 값을 출력
<c:if> 조건식에 해당하는 블럭과 사용될 scope설정
<c:choose> 다른 언어의 switch와 비슷
<c:when> switch문의 case에 해당
<c:otherwise> switch문의 default에 해당
<c:forEach> 다른언어의 loop문 items 속성에 배열을 할당할 수 있음

 

 이 중에서 먼저 변수를 선언하는 태그인 set을 써보자.

 

 

1) <c:set/>

1) JSP 변수 선언<br>
<% int a = 3; %>
a : <%=a%>
<hr>

2) JSTL 변수 선언<br>
<c:set var="b" value="5"></c:set>
<c:set var="c" value="7"/>
b : ${b}<br>
c : ${c}<br>
b+c : ${b+c}

 set을 사용하여 변수를 선언하고 값을 지정할 수 있다.

 

2) <c:out/>

3) 출력<br>
<c:out value="2"></c:out><br>
<c:out value="${b}"/><br>
<c:out value="${c}"/><br>
<c:out value="${b+c}"/><br>

 out을 사용하여 값을 바로 출력시킬 수도 있다.

 이 때 EL을 사용하여 지정해두었던 변수의 값을 바로 출력시킬 수도 있다.

 

3) <c:remove/>

4) b, c 변수 제거<br>
<c:remove var="b"/>
<c:remove var="c"/>
<c:out value="${b}"/><br>
<c:out value="${c}"/><br>
<c:out value="${b+c}"/><br>

 변수를 제거할 수도 있다.

 

4) 자바 객체 선언하기

 스크립틀릿을 활용하여 변수의 값으로 자바객체를 선언할 수 있다.

5) 자바 객체 선언도 가능<br>
<c:set var="dt" value="<%=new Date()%>"/>
오늘 날짜 : ${dt}<br>
오늘 날짜 : <c:out value="${dt}"></c:out><br>

위 코드들의 결과 화면