상세 컨텐츠

본문 제목

[JSTL] - 기본 문법

Backend/EL & JSTL

by hyeminyy 2023. 11. 22. 19:27

본문

728x90

JSTL에서 제안하는 표준 접두사

Tag Library 선언문 기능
Core (기본) <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 가장 자주 사용되는 태그.
일반적인 프로그램의 기능을 제공한다.
XML <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> XML 문서를 생성, 조작
Formatting
(I18N-국제화)
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> RDBMS와 상호 작용하는 태그를 제공
Functions
(기타함수)
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/functions" %>
일반적인 문자열을 가공하고 조작하는 표준함수

 

 

<c:set>

  - 변수 선언 태그, 변수를 다룰 때 사용한다.

  - 생성한 변수는 JSP의 로컬 변수가 아니라 Servlet 보관소에 저장된다.

  - scope의 기본 값은 page이기 때문에 생략하더라도 JSPContext에 저장된다.

 

<c:set var="변수명" value="값" scope="page(기본값) | request | session | application"/>
<c:set var="변수명" scope="page(기본값) | request | session | application"> 값 </c:set>

 

<c:remove>

  - 변수 제거 태그

<c:remove var="변수명" scope="page(기본값) | request | session | application" />

 

ex)

<% pageContext.setAttribute("name", "hong"); %>
이름 : ${name}<br>

<c:remove var="name" />
이름 : ${name}<br>
이름 : hong
이름 :

 

<c:out>

  - 출력문을 만드는 태그

  - value 값이 null이면 기본값이 출력되고 기본값이 없으면 빈 문자열이 출력된다.

<c:out value="출력값" default="기본값" />
<c:out value="출력값">기본값</c:out>

 

ex)

<c:out value="${null}" default="기본값이야" /> //value값이 null이라  default값 출력 !
<c:out value="출력값이야" /> //기본값이 없어서 빈 문자열 출력
<c:out value="${null}">Hello!!</c:out> //value값이 null이라  default값 출력 !
<c:out value="${hi}">Hello!!</c:out> //value값 출력 !

 

기본값이야
Hello!!
Hi

 

<c:if>

  - test안에 있는 내용이 true인지 false인지에 따라 내용의 출력 여부가 정해진다.

<c:if test"true|false" var="변수명" scope="page(기본값) | request | session | application"> 
</c:if>

 

ex)

<c:if test="${1 > 2}" var ="result1">
	1은 2보다 크다.
</c:if>
첫 번째 결과 : ${result1"}
<br>
<c:if test="${2 > 1}" var ="result2">
	2는 1보다 크다.
</c:if>
두 번째 결과 : ${result2"}

 

첫 번째 결과: false

2는 1보다 크다.
두 번째 결과: true

 

<c:choose>

  - switch 기능을 사용할 수 있게 해주는 태그

  - <c:when> 태그는 한 개 이상 존재해야 하며 <c:otherwise> 태그는 0개 혹은 1개가 올 수 있다.

   (<c:when> 조건에 부합하지 않으면 <c:otherwise> 실행)

 

ex)

<c:set var="id" value="과일" />
<c:choose>
	<c:when test="${id == '과일'}">
    	과일입니다.
      </c:when>
    <c:when test="${id == '채소'}">
    	채소입니다.
      </c:when>
      ..
     <c:otherwise>
     	동물입니다.
      </c:otherwise>
   </c:choose>

 

<c:forEach>

  - 반복 기능을 사용할 수 있도록 해주는 태그

 

ex)

<% pageContext.setAttribute("fruits", new String[]{"사과", "딸기", "수박"}); %>

 

<ul>
	<c:forTokens var="fruit" items="${fruits}">
    	<li>${fruit}</li>
    </c:forTokens>
</ul>

 

사과
딸기
수박

 

 

<c:forTokens>

  - 문자열에 포함된 토큰을 분리해서 각각의 토큰에 대해 반복 처리를 수행하도록 만드는 기능

<c:forTokens var="변수명" items="문자열" delims="구분자">
	콘텐츠
</c:forTokens>

 

Ex)

<% pageContext.setAttribute("fruits","사과,딸기,수박"); %>
<ul>
	<c:forTokens var = "fruit" items="${fruits}" delims=",">
    	<li>${fruit}</li>
    </c:forTokens>
</ul>

 

사과
딸기
수박

 

<c:url>

  - URL을 만들 때 사용

<c:url var="변수명" value="URL">
	<c:param name="파라미터명" value="값" />
    <c:param name="파라미터명" value="값" />
</c:url>

 

<c:import>

  - URL 속성에 콘텐츠가 있는 주소를 지정하면 해당 주소로 요청하고 응답 결과를 받아서 반환한다.

<c:import url="URL" var="변수명" scope="page(기본값) | request | session | application" />

 

<c:redirect>

  - 리다이렉트 처리를 할 때 사용한다.

<c:redirect url="url" />

 

주요 formating 태그 

<fmt:parseDate>

  - 날짜 형식으로 작성된 문자열로 java.util.Date 객체를 생성한다.

<fmt:formatData value="java.util.Data객체지정" pattern="패턴" />
728x90

'Backend > EL & JSTL' 카테고리의 다른 글

[ JSTL ] JSTL 기초 , 설치 방법  (0) 2023.11.21
[EL] EL 기본 개념  (0) 2023.11.21

관련글 더보기