본문 바로가기
JSP

day46) JSTL

by code_learner 2022. 3. 4.

[JSTL이란?]

-JSP Standard Tag Library -> 자주 사용될 수 있는 커스텀 태그들을 모아서 표준으로 모아놓은 태그 라이브러리

  -> JSP에서 JAVA코드를 제거하여 View를 View답게 만들 수 있다.

-JSTL의 종류: 핵심(core), xml(x), 국제화, DB(sql), 함수(fn)

 

 

[사용법]

1. WEB-INF -> lib 디렉토리에 jstl.jar와 standart.jar파일을 추가한 후에

2. JSP 상단에 <%@ taglib prefix="접두어" uri="URI 경로" %>를 추가하면 사용할 수 있다. 위 포스티에서는 core의 기능을 알아볼 것이기에 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>만 사용예정

 

 

[core의 기능]

-<c:forEach>: forEach문

<c:forEach var="v" items="${datas}">
   ${v.name} | <c:out value="${v.phone}" escapeXml="false"><font color="red">phone정보없음</font></c:out> <br>
</c:forEach>

<!-- <c:out></c:out>:해당 value가 null일때 해당바디를 출력 -->
<!-- excapeXml = "false"를 통해 바디에 태그를 적용할 수 있다-->
<!-- var: 사용할 변수명, items: Collection객체(List, ArrayList) -->


<c:forEach begin="0" end="5" varStatus="st">
   ${st.index} | ${st.count} <br>
</c:forEach>
<!-- 기본 for문 양식 -->
<!--begin: 시작 index(default = 0)-->
<!-- end: 종료 index(default=item크기 -1)


<c:forTokens items="010-1234-5678" delims="-" var="num">
   ${num} <br>
</c:forTokens>

<!-- -기준으로 나누어 출력 -->
<!--010
	1234
	5678-->

 

-<c:set>, <c:remove>: 변수할당, 변수값 제거

<c:set var="addr" value="서울시 관악구" /><!--default scope: page -->
<c:remove var="addr"/><!-- 제거 -->
<!-- 휘발성 데이터를 다룰 때 사용 -->
addr: ${addr} | <%=pageContext.getAttribute("addr")%>

 

-<c:catch>: try-catch

<c:catch var="err">
	<%=10/0 %>
</c:catch>

에러메세지: ${err}
<!-- var: 에러의 이름을 정해준다 -->

 

-<c:if>: if문 1 -> else 속성이 없으므로 조건이 아닐때를 따로 만들어 두어야함

<c:set var="str" value="apple"/>
<c:if test="${str=='apple'}">
	${res}
</c:if>

 

-<c:choose>: if문2 -> if-else처럼 사용이 가능하다

<form>
   <select   name="al">
      <option>---</option>
      <option ${ param.al=='a'? 'selected' : '' }>a</option>
      <option ${ param.al=='b'? 'selected' : '' }>b</option>
      <option ${ param.al=='c'? 'selected' : '' }>c</option>
   </select>
   <input type="submit" value="결과보기">
</form>
<hr>
<c:choose>
   <c:when test="${ param.al == 'a' }">
      a를 선택했습니다.
   </c:when>
   <c:when test="${ param.al == 'b' }">
      b를 선택했습니다.
   </c:when>
   <c:when test="${ param.al == 'c' }">
      c를 선택했습니다.
   </c:when>
   <c:otherwise>
      ???
   </c:otherwise>
</c:choose>

'JSP' 카테고리의 다른 글

day49) 리스너, 필터  (0) 2022.03.12
day48) FrontController  (0) 2022.03.12
day45) EL 태그  (0) 2022.03.04
day42) Scope(request, session, application)  (0) 2022.02.25
day41) JSP 예외 처리  (0) 2022.02.24

댓글