1. JSTL Taglib를 사용하기 위한 JSP 페이지 상단에 추가한다.
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
2. forEach문에서 index 및 count 값 참조하기
<c:forEach var="car" items="${carList}" varStatus="status">
...
<c:out value="${status.index}"/> <!-- 0부터 시작 -->
<c:out value="${status.count}"/> <!-- 1부터 시작 -->
...
</c:forEach>
3. Collection(Array)이나 String의 길이 구하기
<!-- String -->
<c:set var="str" value="a-b-c-d-e-f-g"/>
<c:out value="${fn:length(str)}"/>
<!-- Collection -->
<c:set var="strList" value="${fn:split(str, '-')}"/>
<c:out value="${fn:length(strList)}"/>
4. 숫자에 콤마(,) 붙이기
<c:set var="amount" value="123456"/>
<fmt:formatNumber value="${amount}" pattern="#,###"/>
<c:set var="amount" value="123456.12"/>
<fmt:formatNumber value="${amount}" pattern="#,###.##"/>
<!-- 콤마로 분리된 숫자를 특정 변수에 값 저장 -->
<fmt:formatNumber value="${cost.costAmount}" pattern="#,###" var="costAmount"/>
<!-- 숫자앞에 0로 붙이기 -->
<fmt:formatNumber pattern="000" value="${day}"/>
5. 날짜 포맷 지정하기
<c:set var="birthDate" value="19850620"/>
<fmt:parseDate var="birthDate" value="${birthDate}" pattern="yyyyMMdd"/>
<fmt:formatDate var="birthDate" pattern="yyyy-MM-dd" value="${birthDate}"/>
<c:out value="${birthDate}"/>
<fmt:formatDate var="birthDate1" pattern="yyyy년 MM월 dd일" value="${birthDate}"/>
<c:out value="${birthDate1}"/>
<!--요일 표시. 월-->
<c:set var="now" value="<%=new java.util.Date()%>"/>
<fmt:formatDate pattern="E" value="${now}"/>
6. 이항연산자 사용하기
<c:set var="selNo" value="2"/>
<select name="..." id="...">
<option value="1" <c:out value="${selNo == 1 ? 'selected' : ''}"/>>하나</option>
<option value="2" <c:out value="${selNo == 2 ? 'selected' : ''}"/>>둘</option>
<option value="3" <c:out value="${selNo == 3 ? 'selected' : ''}"/>>셋</option>
</select>
7. 특정 문자로 문자열 분리/대체/추출하기
<c:set var="cars" value="car1,car2,car3,car4,car5"/>
<c:set var="carList" value="${fn:split(cars, ',')}"/>
<c:forEach var="car" items="${carList}">
<c:out value="${car}"/>
</c:forEach>
<!--문자열 대체-->
<c:set var="string1" value="${fn:replace('aabbccdd', 'cc', 'CC')}"/>
<!--문자열 추출-->
<c:set var="string1" value="${fn:substring('abcdefg', 0, 4)}"/>
8. 개행문자를 HTML의 <BR> 태그로 변환하기
<% pageContext.setAttribute("newLine", "\r\n"); %>
<c:set var="bigo" value="개행문자가 포함되는 텍스트"/>
${fn:replace(bigo, newLine, '<br/>')}
9. <c:out value=""/>시 HTML 태그 적용해서 출력하기
escapeXml="false"를 삭제하면 HTMl 태그가 적용되지 않는다.
즉, <table><tr> 처럼 <, >의 태그가 적용되지 않게 된다.
<c:set var="htmlCode" value="<table><tr><td>테이블입니다.</td></tr></table>"/>
<c:out value="${htmlCode}" escapeXml="false"/>
${htmlCode}
10. Collection이나 문자열이 Null인지 판단하기
<c:if test="${!empty message and fn:length(message) > 0}">
<script type="text/javascript">alert("${message}");</script>
</c:if>
11. 스트링 연결하기
<c:set var="str" value="${'[\''.concat(data.name).concat('\', \'').concat(data.no).concat('\']')}"/>
12. 콤마(특정 문자)로 분리된 문자열에서 각 항목 사용하기
<c:set var="myVal" value="aaa,bbb,ccc,ddd,eee"/>
<c:forTokens var="myInfo" items="${myVal}" delims="," varStatus="myInfoStatus">
${myInfo}
</c:forTokens>
13. 순차적 루프(Loop)
<c:forEach var="i" begin="1" end="10" step="1" varStatus="iStatus">
${i}
</c:forEach>
'Back > jstl' 카테고리의 다른 글
jstl fmt (0) | 2023.01.13 |
---|---|
jstl el (0) | 2023.01.13 |
jstl core (0) | 2023.01.13 |
jstl functions (0) | 2023.01.13 |
jstl (0) | 2023.01.13 |