[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 |
댓글