본문 바로가기
JSP/정리

[jsp] JSTL

by 미네밍 2017. 1. 20.

<JSTL>


JSP는 html 태그와 함께 사용돼 전체적으로 코드의 가독성이 떨어진다.

이러한 점을 보완하고자 태그 라이브러리가 만들어졌는데, 그것이 바로 JSTL 이다.


Tomcat 컨테이너에 포함되어 있지 않아 별도 설치를 해서 사용해야만 한다.


1. http://jakarta.apache.org 접속

2. Taglibs 클릭한다.

3. Standard Taglib 를 다운로드한다.

4. zip파일 안의 lib 폴더에서 standard.jar 과 jstl.jar 를 복사한다.

5. 아파치 경로/lib 폴더안에 붙여넣는다.


JSTL의 대표적인 5가지 라이브러리


Core, XML Processing, I18N formatting (인코딩 관련, 날짜 형식 관련), SQL, Functions


Core 라이브러리는 기본적 라이브러리로 출력, 제어문, 반복문 등의 기능이 포함되어 있다.


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


해당 라이브러리를 c 라는 prefix 로 쓰겠다고 하는 의미이다. prefix 는 다른 것을 써도 무방하나, core 라이브러리를 사용할 것이기 때문에 편의상 c 라고 한다.

이 c 라는 prefix를 이용해 다음과 같은 기능들을 쓸 수 있다.


1. 출력


1
2
3
<!-- 출력 태그 -->    
<c:out value="출력값" default="기본값" escapeXml="true or false"></c:out>    
<c:out value="${test}"></c:out>
cs



2. 변수 설정


1
2
3
4
<!-- 변수 설정 태그 -->
<c:set var="변수명" value="설정값" target="객체" property="값" scope="범위"></c:set>
<c:set var="test" value="testvalue"></c:set>
test : <c:out value="${test }"></c:out>
cs


결과값은 test : testvalue 로 출력된다.


3. 변수 제거


1
2
3
4
<!-- 변수 제거 태그 -->
<c:remove var="변수명" scope="범위"></c:remove>
<c:remove var="test"></c:remove>
test : <c:out value="${test }"></c:out>    
cs


변수를 제거했기 때문에 test 변수는 출력되지 않는다.


4. 예외 처리


1
2
3
4
5
6
<!-- 예외 처리 태그 -->
<c:catch var="변수명"></c:catch>
<c:catch var="error">
        <%=2/0 %>
</c:catch>
error : <c:out value="${error }"></c:out>
cs


해당 조건에서는 error : java.lang.ArithmeticException: / by zero 라고 출력된다.


5. 조건문


1
2
3
4
5
<!-- 조건문 태그 -->
<c:if test="조건" var = "조건처리 변수명" scope="범위"></c:if>
<c:if test="${1+2==3 }">
        1 + 2 = 3
</c:if>
cs


1+2=3 이 출력된다.


6. 반복문 


1
2
3
4
5
<!-- 반복문 태그 -->
<c:forEach items="객체명" begin="시작 인덱스" end="끝나는 인덱스" step="증감식" var="변수명" varStatus="상태변수"></c:forEach>
<c:forEach var="fEach" begin="0" end="30" step="3">
        ${fEach }
</c:forEach>
cs


0 3 6 9 12 15 18 21 24 27 30 이 출력된다.


7. 제어문


1
2
3
4
5
<!-- 제어문 태그 -->
<c:choose>
    <c:when test="조건" >처리내용</c:when>
    <c:otherwise>처리 내용</c:otherwise>
</c:choose>
cs


8. 기타


1
2
3
4
5
<!-- 페이지 이동 태그 -->
<c:redirect url="url"></c:redirect>
    
<!-- 파라미터 전달 태그 -->
<c:param name= "파라미터명" value="값"></c:param>
cs


다른 라이브러리 또한 저마다의 prefix 로 쓸 수 있다.

'JSP > 정리' 카테고리의 다른 글

[jsp] Forwarding(포워딩)  (0) 2017.01.20
[jsp/개발방법론] FrontController 패턴  (0) 2017.01.20
[jsp] EL(Expression Language)  (0) 2017.01.19
[jsp] 파일 업로드  (0) 2017.01.18
[jsp] 커넥션 풀  (0) 2017.01.17

댓글