JSP의 경우 HTML 태그와 같이 사용되어 전체적인 코드의 가독성이 떨어진다.
예를들어 html 태그 도중 <% %> 를 사용하여 html 코드의 흐름이 깨지며 코드를 보기에 난해해진다.
그래서 이러한 단점을 보완하고자 만들어진 태그 라이브러리가 JSTL 이다.
JSTL의 경우 우리가 사용하는 Tomcat 컨테이너에 포함되어 있지 않으므로, 별도의 설치를 하고 사용해야된다.
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 에서는 총 다섯 가지의 라이브러리를 제공하며,
종류로는 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 라이브러리는 기본적인 라이브러리로써 출력, 제어문 및 반복문 같은 기능이 포함되어 있다.
1 | <c:out value="출력값" default="기본값" escapeXml="true or false" > | cs |
1 | <c:set var="변수명" value="설정값" target="객체" property="값" scope="범위" > | cs |
1 | <c:remove var="변수명" scope="범위"> | cs |
1 | <c:catch var="변수명"> | cs |
1 | <c:if test="조건" var="조건 처리 변수명" scope="범위"> | cs |
1 2 3 4 5 6 7 | <c:choose> <c:when test="조건"> 처리 내용 </c:when> <c:otherwise> 처리 내용 </c:otherwise> </c:choose> | cs |
1 | <c:forEach items="객체명" begin="시작 인덱스" end="끝 인덱스" step="증감식" var="변수명" varStatus="상태변수"> | cs |
1 | <c:redirect url="url"> | cs |
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 } </c:forEach> </body> </html> | cs |
결과 )
당연히 servlet-api.jar, jstl.jar, standard.jar 파일이 설정되있어야된다.
안되시면 간단하게 WEB-INF > lib 폴더에 넣어서 사용하면 된다.
감사합니다.
FrontController 패턴, Command 패턴 예제 (1) | 2018.10.28 |
---|---|
url-pattern (디렉토리 패턴, 확장자 패턴) (0) | 2018.10.26 |
EL(Expression Language) 예제 (0) | 2018.10.25 |
파일 업로드 라이브러리(cos.jar) - multipart/form-data (0) | 2018.10.25 |
DAO, DTO, PreparedStatement, DBCP를 이용한 간단한 회원인증 (0) | 2018.10.25 |
댓글 영역