2018 - 06 - 18 (월)
- JSP 를 다시 공부하면서 가장많이 쓰는 JSTL (자바 표준 태그 라이브러리) 를 다시한번 전체적으로 정리하고자한다.
tablib 디렉티브
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page session="true"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
C 태그 라이브러리
<h1>C 태그 라이브러리</h1>
<hr>
<h1>C:out 태그</h1>
<!-- c:out 태그는 웹서버를 통해 받은 정보를 출력하기위한 태그이다. -->
<c:out value='${cout }' />
<h1>c:set 태그</h1>
<!-- c:set 태그는 특정 값을 변수에 할당하기위한 태그이다 -->
<c:set var="ga" value='${cout }' />
<h1>c:remove 태그</h1>
<!--정의된 변수를 삭제하기 위한 태그이다. -->
<c:set value="Hello World" var="msg" />
before remove :
<c:out value="${msg}" />
<br>
<c:remove var="msg" />
after remove :
<c:out value="${msg}" />
<br>
<h1>c:if 태그</h1>
<!-- 조건에 따라 화면을 달리 표현할 수 있다. 예를 들어서 로그인 세션이 있을 경우 마이페이지 탭을 추가로 표시하고 아닐경우 표시하지 않는다. -->
<c:if test='${sex eq "man" }'>
남자
</c:if>
<h1>c:choose 태그</h1>
<!-- if와 마찬가지로 조건에 따른 화면을 표현한다. 예를들어서 로그인 세션이 있을 경우 로그아웃 화면을 로그인 세션이 없을 경우에는 로그인 화면을-->
<c:choose>
<c:when test='${sex eq "man" }'>
남자
</c:when>
<c:otherwise>
여자
</c:otherwise>
</c:choose>
<h1>c:forEach 태그</h1>
<!-- 배열의 값을 각각 띄워주기 위해 사용하는 태그이다. 반복문 같은 개념이다. -->
<c:forEach var="list" items='${list }' varStatus="status">
${list }
</c:forEach>
FN 태그 라이브러리
<hr>
<h1>fn 태그라이브러리</h1>
<hr>
<h1>fn:indexOf 태그</h1>
<!--특정 값이 문자열의 몇번째에 있는지 인덱스를 찾을 때 사용하는 태그이다. -->
<c:set var="index" value="${fn:indexOf('abcde', 'c')}" />
${index }
<h1>fn:split 태그</h1>
<!-- 특정 문자열을 구분자에 의해 나눌 때 사용하는 태그이다. -->
<c:set var="splitText" value='${fn:split("010-2658-7242", "-")}' />
<c:forEach var="text" items='${splitText }'>
<div>${text }</div>
</c:forEach>
<h1>fn:replace 태그</h1>
<!-- 특정 문자열의 일부를 교체할 때 사용하는 태그이다. -->
<c:set var="replace"
value='${fn:replace("전체 문자열","문자열", "문자열이 바뀌었다.") }' />
${replace }
<h1>fn:substring 태그</h1>
<!-- 특정 문자열의 시작 인덱스와 종료 인덱스 사이의 값만 사용하기 위해 사용하는 태그이다. -->
<c:set var="substring" value='${fn:substring("1234", 1 ,3)}' />
${substring }
<h1>fn:substringAfter 태그</h1>
<!-- 특정 문자열에서 특정 인덱스의 문자를 기준으로 뒤에 있는 문자열을 출력하기 위해 사용하는 태그이다 -->
<c:set var="substringafter"
value='${fn:substringAfter("오후1시~오후2시", "~")}' />
${substringafter }
<h1>fn:substringBefore 태그</h1>
<!-- 특정 문자열에서 특정 인덱스의 문자를 기준으로 앞에 있는 문자열을 출력하기 위해 사용하는 태그이다 -->
<c:set var="substringBefore"
value='${fn:substringBefore("오후1시~오후2시", "~")}' />
${substringBefore }
<h1>fn:upper 태그</h1>
<!-- 특정 문자열을 대문자로 표현할 때 사용하는 태그이다. -->
<c:set var="upper" value='${fn:toUpperCase("abc")}' />
${upper }
<h1>fn:lower 태그</h1>
<!-- 특정 문자열을 소문자로 표현할 때 사용하는 태그이다. -->
<c:set var="lower" value='${fn:toUpperCase("ABC")}' />
${lower }
<h1>fn:trim 태그</h1>
<!-- 문자열의 앞뒤 공백을 모두 제거하여 반환하기 위한 태그이다. -->
<c:set var="trim" value='${fn:trim(" text ")}' />
${trim }
<h1>fn:contains 태그</h1>
<!--문자열에 특정 서브문자열이 포함되는지 여부를 확인할 때 사용한다. -->
<c:set var="contains" value='${fn:contains("지에이시스템", "지에이") }' />
${contains }
<h1>fn:containsIgnoreCase 태그</h1>
<!--대소문자 구분없이 문자열에 특정 서브문자열이 포함되는지 여부를 확인할 때 사용한다. -->
<c:set var="containsIgnoreCase"
value='${fn:containsIgnoreCase("지에이시스템", "지에이") }' />
${containsIgnoreCase }
<h1>fn:endsWith 태그</h1>
<!--문자열이 특정 서브스트링으로 끝나는지의 여부를 판단하기위해 사용한다. -->
<c:set var="endsWith" value='${fn:endsWith("지에이시스템", "지에이") }' />
${endsWith }
<h1>fn:length 태그</h1>
<!-- 문자열의 길이를 알아내기 위해 사용한다. -->
<c:set var="length" value='${fn:length("지에이시스템") }' />
${length }
<h1>fn:escapeXml 태그</h1>
<!-- 문자열에서 XML, HTML의 < >& ' " 문자들을 각각 < > & ' "1로 변환한다. -->
<c:set var="excapeXml" value='${fn:escapeXml("<>")}' />
${excapeXml }
FMT 태그라이브러리
<h1>fmt:formatNumber 태그</h1>
<!-- 숫자의 포맷을 지정해주기 위한 태그이다. 예를들어서 가격형식중 1000단위로 , 를 찍어줄 때 유용하다. -->
<fmt:formatNumber value="${price }" pattern="#,###" />
<h1>fmt:formatDate 태그</h1>
<!-- 날자 포맷을 지정해주기 위한 태그이다. -->
<p>
<fmt:formatDate type="time" value="${now}" />
</p>
<p>
<fmt:formatDate type="both" value="${now}" />
</p>
<p>
<fmt:formatDate type="date" value="${now}" />
</p>
<h1>fmt:parseDate</h1>
<!-- 문자열로 되어있는 값을 date형식으로 바꾸어 줄 때 사용하는 태그이다. -->
<fmt:parseDate value="19920815" var="dateFmt" pattern="yyyyMMdd" />
${dateFmt }