JSTL
사용법
- JSP 상단에 추가
1. core
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2. fmt
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3. sql
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
4. xml
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
5. functions
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set>
- 변수 선언 태그
<c:set var="변수이름" value='값'>
- 다른 영역에 저장하고 싶다면
<c:set var="변수이름" value="값" scope="session"/>
- 이 변수는 내부적으로 자바변수로 선언되는것이 아니라 page 데이터 영역의 어트리뷰트로 선언됨
- <%= 변수이름 %> 로 출력될 수 없음
<c:remove>
- 변수를 제거할 때 사용
<c:remove var="변수이름"/>
- 이렇게 사용하면 해당이름의 변수가 사라지며 이렇게 선언할 경우 모든 scope에서 해당이름을 가진 변수는 다 제거함
<c:remove var="변수이름" scope="request"/>
- 특정 영역의 변수만 제거됨
<c:out>
- 이 태그는 변수 내용을 출력할 때 사용되는 태그
- EL로도 출력할 수 있지만, 아래와 같이 태그가 포함된 변수를 escapeXml 항목을 true/false 지정해서
태그를 포함해서 출력할지 적용해서 출력할지 결정할 수 있음<c:set var="aaa" value="<font color=red>ㅋㅋㅋ</font><br/>"></c:set>
<c:out value="${aaa}" escapeXml="false">
<c:out value="${aaa}" escapeXml="true">result:
ㅋㅋㅋ
ㅋㅋㅋ
```<c:if test="true|false">
<c:if test="${test != null}" var="flag"> 루루루라라라라랄 </c:if> ${flag} false 가 나옴
- test 안의 내용이 true이냐 false 이냐에 따라서 내용을 출력하거나 출력하지 않음
- 따라서 EL형태를 응용해서 <c:if test="${10 > 0}"> 이렇게 표현한다면 EL은 true|false를 리턴함
- 그 값에 따라 JSTL도 동작하게 되는 형태
<c:choose>
- 일종의 스위치문
<c:choose> <c:when test="${flag == true }"> 트루 </c:when> <c:when test="${flag == false }"> 펄스 </c:when> <c:otherwise> 아더와이즈 </c:otherwise> </c:choose>
- <c:forEach>
- for문과 비슷한 forEach
- 1~10 까지 출력
<c:forEach var="임시변수명" begin="1" end="10"> ${임시변수명}< br/> </c:forEach>
- 1, 3, 5 ,7, 9로 출력
<c:forEach var="임시변수명" begin="1" end="10" step="2"> ${임시변수명}<br/> </c:forEach>
- 배열의 내용을 순서대로 출력
<c:forEach var="리스트에 담긴 값" items="${리스트}"> ${리스트에 담긴 값}<br/> </c:forEach>
- <c:forTokens>
- 문자열에 포함된 토큰을 분리해서 각각의 토큰에 대해 반복 처리를 수행하도록 만드는 기능
- zzz, ggg, kkk 가 출력됨
- 여러개도 가능
<c:forTokens var="temp" items="zzz ggg kkk" delims=" "> ${temp}<br /> </c:forTokens> <c:forTokens var="temp" items="zzz$ggg%kkk^sss" delims="$%^"> ${temp}<br /> </c:forTokens>
- 날짜 관련 태그
- type 부분에 date, time을 설정하면 각각 날짜와 시간이 출력됨
<fmt:formatDate value="<%= new Date()%>" type="both"/>
- 숫자 관련 태그
- 세자리마다 끊어서 쉼표포함 출력
- 소숫점 둘째자리까지만 출력
<fmt:formatNumber value="123456789" groupingUsed="true"/> <fmt:formatNumber value="3.141582" patter="#.##"/>
- 일종의 스위치문
'Main > Web' 카테고리의 다른 글
RestFul API를 개발하면서 정리하는 글 (0) | 2020.09.20 |
---|---|
[Tomcat] 로그 한글 깨짐 해결 (0) | 2020.08.06 |
정적, 동적 웹 프로그래밍 (0) | 2020.02.05 |
WebToB4.1 X JEUS6.0 연동하기 (0) | 2020.01.20 |
JSP EL로 URL, URI 알아내는 방법 (0) | 2019.12.30 |