상세 컨텐츠

본문 제목

JSTL 개요 및 설치, Core 사용법

WebProgramming/JSP

by ChrisMare 2018. 10. 26. 14:12

본문

JSTL ?

JSP의 경우 HTML 태그와 같이 사용되어 전체적인 코드의 가독성이 떨어진다.

예를들어 html 태그 도중 <% %> 를 사용하여 html 코드의 흐름이 깨지며 코드를 보기에 난해해진다.

그래서 이러한 단점을 보완하고자 만들어진 태그 라이브러리가 JSTL 이다.

JSTL의 경우 우리가 사용하는 Tomcat 컨테이너에 포함되어 있지 않으므로, 별도의 설치를 하고 사용해야된다.


JSTL 설치

http://jakarta.apache.org/ 접속 한 후, 좌측 네비게이션바의 Taglibs 를 클릭한다.



Apache Taglibs 항목의 Apache Standard Taglib 클릭한다.



Standard 1.1 download 클릭하고 binaries 클릭한 후 jakarta-taglibs-standard-1.1.2.zip 클릭하면 된다.



다운로드를 다 받고 압축을 해제한 후 jakarta-taglibs-standard-1.1.2 > jakarta-taglibs-standard-1.1.2 > lib 파일 안에 있는 jstl.jar, standard.jar 파일을 복사해서 사용하시는 서버에 넣어 사용해야됩니다.

그 이유는 Apache server에는 jstl을 지원하지않아서 넣어서 사용합니다.

까다로우시다면 다른 방법으로는 간단히 eclipse java build path에 라이브러리를 추가해 주시거나 사용하고자하는 프로젝트 속 WEB-INF > lib에 넣어서 사용하시면 됩니다.




JSTL 라이브러리

JSTL 에서는 총 다섯 가지의 라이브러리를 제공하며,

종류로는 Core, XML Processing, I18N formatting, SQL, Functions 가 있다.


 lib

uri 

Prefix 

ex 

 Core

 http://java.sun.com/jsp/jstl/core 

 c 

 <c:tag ~~ 

 XML Processing

 http://java.sun.com/jsp/jstl/xml

 x 

 <x:tag ~~

 I18N formatting

 http://java.sun.com/jsp/jstl/fmt 

 fmt 

 <fmt:tag ~~ 

 SQL 

 http://java.sun.com/jsp/jstl/sql 

 sql 

 <sql:tag ~~ 

 Functions 

 http://java.sun.com/jsp/jstl/functions 

 fn 

 fn:function() 


Core

Core 라이브러리는 기본적인 라이브러리로써 출력, 제어문 및 반복문 같은 기능이 포함되어 있다.


출력 태그 : <c:out>

1
<c:out value="출력값" default="기본값" escapeXml="true or false" >
cs


변수 설정 태그 : <c:set>

1
<c:set var="변수명" value="설정값" target="객체" property="값" scope="범위" >
cs


변수를 제거하는 태그 : <c:remove>

1
<c:remove var="변수명" scope="범위">
cs

예외 처리 태그 : <c:catch>

1
<c:catch var="변수명">
cs


제어문(if) 태그 : <c:if>

1
<c:if test="조건" var="조건 처리 변수명" scope="범위">
cs


제어문(swich) 태그 : <c:choose>

1
2
3
4
5
6
7
<c:choose>
 
<c:when test="조건"> 처리 내용 </c:when>
 
<c:otherwise> 처리 내용 </c:otherwise>
 
</c:choose>
cs

반복문(for) 태그 : <c:forEach>

1
<c:forEach items="객체명" begin="시작 인덱스" end="끝 인덱스" step="증감식" var="변수명" varStatus="상태변수">
cs


페이지 이동 태그 : <c:redirect>

1
<c:redirect url="url">
cs


파라미터 전달 태그 : <c:param>

1
<c:param name="파라미터명" value="값">
cs



jstlCoreEX.jsp )


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>JSTL - Core Library</title>
</head>
<body>
    <h1>JSTL - Core Library</h1>
    <hr>
    
    <h2>set</h2>
    <c:set var="name" value="name_Value"/>
    Name : <c:out value="${ name }"/>
    <br/>
    <c:remove var="name"/>
    Name : <c:out value="${ name }"/>
    
    <hr>
    
    <c:catch var="error">
        <%= 3/0 %>
    </c:catch>
    <br/>
    <c:out value="${ error }"/>
    
    <hr>
    
    <c:if test="${ 1+2==3 }">
        1 + 2 = 3
    </c:if>
    
    <c:if test="${ 1+2!=3 }">
        1 + 2 != 3
    </c:if>
    
    <hr>
    
    <c:forEach var="i" begin="1" end="10" step="1">
        ${ i } &nbsp;
    </c:forEach>
</body>
</html>
cs


결과 )

당연히 servlet-api.jar, jstl.jar, standard.jar 파일이 설정되있어야된다.

안되시면 간단하게 WEB-INF > lib 폴더에 넣어서 사용하면 된다.




감사합니다.




관련글 더보기

댓글 영역