Programming/Back-end(Java, JSP)

[JSP] JSTL 용법

Sujin Lee (Daisy) 2020. 4. 5. 01:16

<JSTL> 

   
0. 특징

 - JSTL은 XML로 제작되었으므로, 태그를 열고 닫아야 한다.
 - 지원하는 속성(var, items, ...) 외의 다른 속성을 이용하면 에러가 난다.  
 - 속성값은 반드시 ""를 사용해야 한다.
   ex) <c:set var=id value=admin> // (X) Error.
        <c:set var="id" value="admin"> // (O)
    

 

1. core

 - import: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    
  1) 변수 선언: <c:set>
    - <c:set var="key" value="value">는 request.setAttribute(key,value) 와 동일 ==> ${id}
    - 참고) <c:out value="test"> => out.println()
              =============

              ${}
    
  2) 제어문
    (1) <c:if>
      - else가 존재하지 않는다.
      - [Java if문 형식]

// [Java if문 형식]
if(조건문)
{
	실행문장
}

      - [ <c:if> 사용 ]

// [<c:if> 사용]
<c:if test="조건문">
	실행문장
</c:if>

 

    (2) <c:forEach>
      - 변수가 감소할 수 없다. (step은 항상 양수)
      - [Java for문 형식]

// [Java for문 형식] 
for(int i=1; i<=10; i++) 
{ 
	실행코드
} 

      - [ <c:forEach> 형식]

// [<c:forEach> 형식]
<c:forEach var="i" begin="1" end="10" step="1">
	실행코드
</c:forEach>

      - begin이 <이 아니라 <= 임에 주의할 것. step은 1인 경우 생략 가능. 

      - [Java forEach문 형식]

// [Java forEach문 형식]
for(MovieVO vo:list) 
{
	실행코드
} 

      - [ <c:forEach> 형식]

[<c:forEach> 형식]
<c:forEach var="vo" items="list">
	실행코드
</c:forEach>    


    (3) <c:choose>
      - 다중조건문, 선택문 작성할 때 사용
      - 형식)

// 형식)                    
<c:choose>
	<c:when test="조건문">실행문장</c:when> // Java에서의 if()와 동일
	<c:when test="조건문">실행문장</c:when> // Java에서의 else if()와 동일
	<c:when test="조건문">실행문장</c:when> // Java에서의 else if()와 동일
	<c:when test="조건문">실행문장</c:when> // Java에서의 else if()와 동일
	<c:otherwise>실행문장</c:otherwise> // Java에서의 else와 동일
</c:choose>


    (4) <c:forTokens>
      - StringTokenizer와 기능 동일
      - 형식) 

<c:forTokens var="s" value="red,blue,green" delimt=",">

          
 3) URL         
     - import: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/fmt"%>
     - <c:redirect url=""> : 화면 이동 (response.sendRecirect()와 동일)
  

     

 

2. fmt

 - import: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/functions"%>
    


3. fn

 - String, Collection
    ${fn:title.substring()}

반응형