[Spring] 자주쓰는 JSTL 정리

Posted by 신희준 on December 29, 2017

2017 - 12 - 29 (금)


자주쓰는 jstl 코드 정리

  • core tag
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  • c:set : userInfo 변수에 request 객체에 담긴 userVO 에트리뷰트의 값을 가져와 집어넣는다. ${userInfo} 처럼 el 태그로 사용가능
<c:set var = userInfo value = '<%=request.getAttribute("userVO")%>'/>
  • c:if
<c:if test = '${user_id != null}'>
  <div>if 조건이 true 일경우</div>
</c:if>
  • c:choose
<c:choose>
  <c:when test = '${empty userVO}'>
    <div>userVO에 값이 비어있다(NULL이다)</div>
  </c:when>
  <c:otherwise>
    <div>userVO 에 값이 채워져있다.</div>
  </c:otherwise>
</c:choose>
  • c:forEach : certificateVO 에 객체 배열이 담겨있는 경우
<c:forEach var = "list" items = '${certificateVO}' varStatus = "status">
  <!--1부터 순서대로-->
  <div>${status.count} 번째 자격증</div>
  <!--현재 아이템 -->
  <div>${status.current}</div>
  <!--0부터 순서대로-->
  <div>${status.index} 번째 배열입니다.</div>
  <!--현재 반복문이 처음인지-->
  <div>${status.first}</div>
  <!--현재 루프가 마지막 인지 반환 -->
  <div>${status.last}</div>
  <!--시작값-->
  <div>${status.begin}</div>
  <!--끝 값 -->
  <div>${status.end}</div>
  <!-- 증가값 -->
  <div>${status.step}</div>

  <div>${list.certificate_name}</div>
</c:forEach>
  • function 태그 : fn 태그는 단독이 아닌 el 태그와 함께 사용한다.
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
  • length
<!--FALSE / TRUE 반환 형 : CONTAINS-->
${fn:contains("010-2658-7242", "-")}
<!--c:set 을 활용하여 abcde 중 c가 처음 나타나는 인덱스를 변수에 저장-->
<c:set var ="index" value = "${fn:indexOf("abcde", "c")}"/>

<!--fn:split : 구분자로 짜르기 -->
<c:set var = "splitText" value = "${fn:split('010-2658-7242', '')}"/>

<!--replace : 문자열 대체-->
<c:set var = "replace" value = "${fn:replace("전체 문자열","바뀔 문자열", "바꿀 문자열") }"/>

<!--substring : string 에서 특정 인덱스부터 특정 인덱스 까지의 문자열-->
<c:set var = "substring" value = "${fn:substring("1234"),시작인덱스, 종료인덱스}"/>

<!--substringafter-->
<c:set var = "substringafter" value = "${fn:substringAfter("오후1시~오후2시", "~")}"/>

<!--substringBefore-->
<c:set var = "substringBefore" value = "${fn:substringBefore("오후1시~오후2시", "~")}"/>

<!--string 모두 대문자로-->
<c:set var = "upper" value = "${fn:toUpperCase("abc")}"/>

<!--string 모두 소문자로-->
<c:set var = "lower" value = "${fn:toUpperCase("ABC")}"/>

<!--trim : string 앞뒤의 공백을 모두 제거하여 리턴-->
<c:set var = "trim" value ="${fn::trim("   text    ")}"/>