/ JAVA

JSTL

개요

JSP 경우 HTML 태그와 같이 사용하므로 코드 가독성이 떨어진다.
이런 단점을 보완하고자 태그 라이브러리인 JSTL 등장!

Tomcat 컨테이너에 포함 되어있지 않아 별도 설치필요하다.
나의 경우 링크 여기를 통해서
jakarta-taglibs-standard-1.1.2.zip을 다운하였다.

JSTL 라이브러리

JSTL에서는 5가지 라이브러리 제공

  • Core
  • XML Processing
  • I18N formatting
  • SQL
  • Functions

Core

기본적인 라이브러리로 출력,제어,반복문 기능들이 포함

페이지 지시자를 사용한 페이지 속성선언

<%@ taglib uri = http://java.sun.com/jsp/jstl/core prefix=”c” %> 보통 앞글자로 prefix정함

출력 태그

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

변수 설정 태그

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

변수 제거 태그

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

예외 처리 태그

    <c:catch var="변수명"/>

제어문(if)

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

제어문(switch)

    <c:choose>
        <c:when test="조건">처리내용</c:when>
        <c:oherwise>처리 내용</c:oherwise>
    </c:choose>

반복문(for)문

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

페이지 이동 태그

    <c:redirect url ="url"/>

파라미터 전달 태그

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


예제

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri ="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
</head>
<body>
<c:set var="varName" value="varValue"/>
varName : <c:out value = "${varName }"/>

<br/>

<c:remove var = "varName"/>
varName : <c:out value ="${varName }"/>

<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="fEach" begin="0" end="30" step="3">
    ${fEach}
</c:forEach>
</body>
</html>

References.