[JSP] JSTL(JSP Standard Tag Library)

Junseo Kim·2020년 1월 17일
1

[JSP]JSP기초

목록 보기
19/19

JSTL이란?

JSP의 경우 HTML코드와 함께 사용되므로 코드의 가독성이 떨어진다.
이걸 보완하기 위해 만들어진 태그 라이브러리가 JSTL이다.

JSTL 설치 방법

아래의 사이트에 접속한다.
http://jakarta.apache.org/

왼 편의 Taglibs를 클릭한다.

그 후, Apache Standard Taglib를 클릭한다.

그 다음 Standard 1.1 버전을 클릭한다.

그 후, binaries를 클릭하고,

1.1.2.zip 버전을 다운받는다.

압축을 해제하면 lib 폴더 하위에 jstl.jar과 standard.jar 파일이 있는데, 이 2가지 파일을 추가해주어야한다.

설치된 tomcat의 디렉토리로 이동하여, lib 폴더에 2가지 jar 파일을 넣어준다.

intellij 에서 file - project structure을 클릭한다.

Libraries 탭을 눌러 '+'를 클릭하고 Java를 선택한다.

아까 말한 2가지 jar 파일을 열고 적용시킨다.

JSTL Core 라이브러리

JSTL은 Core, XML Processing, I18N formatting, SQL, Functions 총 5개의 라이브러리를 제공한다.

가장 기본이 되는 Core만 살펴본다.

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

JSTL Core 라이브러리를 사용하기 위해서는, 아래의 코드를 jsp파일에 넣어주어야한다.
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

변수 설정 태그

<c:set>

출력 태그

<c:out>

변수 제거 태그

<c:remove>

예외 처리 태그

<c:catch>

제어문 태그

<c:if>
<c:choose> // switch문

반복문 태그

<c:forEach>

페이지 이동 태그

<c:redirect>

파라미터 전달 태그

<c:param>

전체코드

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
    <title>Title</title>
</head>
<body>

    <!-- 변수 설정 태그 -->
    <c:set var="varName" value="varValue"/>

    <!-- 변수 출력 태그 -->
    varName : <c:out value="${varName}"/>
    <br />

    <!-- 변수 제거 태그 -->
    <c:remove var="varName"/>
    varName : <c:out value="${varName}"/></h3>

    <hr />

    <!-- 예외 처리 태그 -->
    <c:catch var="error">
        <%=2/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="0" end="30" step="3">
        ${i}
    </c:forEach>
    
    
    <!-- 페이지 이동 태그 -->
    <c:redirect url="index.jsp">
        <!-- 파라미터 전달 태그 -->
        <c:param name="paramName" value="paramValue"/>
    </c:redirect>
</body>
</html>

0개의 댓글