1. 표준 태그 라이브러리(JSTL)
JSP는 스크립트릿과 표현식 등의 스크립트 코드와 HTML, 코드가 뒤섞이게 되는데, 이렇게
뒤섞인 JSP 코드는 알아보기가 쉽지 않다. 예를 들면
<%
if (list.size() > 0) {
for(int i = 0; i <list.size();i++ {
Data data = (Data)list.get(i);
%>
<%= data.getTitle() %>
...
<%
} else {
%>
데이터가없습니다.
<%
}
%>
이런 경우 스크립트 코드와 HTML 코드가 섞이면서 가독성이 엄청 나빠진다
그러면 이렇게 바꿔보면?
<ctag:if test="!empty ${list}">
<ctag:foreach varName="data" list=’’${list}">
${data;title}
</ctg:foreach>
</ctag:if">
<ctag:iftest=”empty ${list}">
데이터가없습니다.
<ctag>
와 진짜 깔끔해 간결, 가독성도 좋다. 이것이 커스텀 태그(ctag)이다
색칠을 칠한 것은 많이 사용한다.
- 코어 태그
코어 태그는 변수 설정이나 if-else와 같은 논리 처리에 사용되는 스크립트 코트를 대체하는 태그를 제공
코어 태그를 사용할려면
<%@ taglib prefix = "c" url = "http://java.sun.com/jsp/jstl/core" %> 를 추가해줘야 한다.
<c:forEach> 태그
forEach 태그는 배열, Collection 또는 Map에 저장되어 있는 값들을 순차적으로 처리 할 때 사용된다.
기본적인 사용방법
<c:forEach var = "변수" items = "아이템">
...
<tr>
<td align = "right" bgcolor = "#ffffff">
${변수사용}
</td>
...
</c:forEach>
(%@ page contentType = ”text/html; charset=utf-8” %>
<%@page import="java.util.HashMap” %>
<%@ taglib prefix=”c” uri=”http: //java.sun.com/jsp/jstl/core” %>
<%
HashMap<String,Object> mapData =new HashMap<String,Object>();
mapData.put(’'name”, ”최범균");
mapData.put('today”, new java.util.Date());
%>
<c:set var=”intArray” value=”<%= new int[] {1,2,3,4,5} %>” />
<c:set var=”map” value=”<%= mapD。t。%>” />
<html>
<head><title>forEach 태그</title> </head>
<body>
<h4>1부터 100까지 홀수의 합</h4>
<c:set var=”sum” value=”O” />
<c:forEach var=”i” begin="!" end=”100" step=”2”>
//변수 i의 값을 1부터 100까지 2씩 증가한다.
<c:set var=”sum” value=”${sum+ i}” />
</c:forEach>
결과 =${sum}
<h4>구구단: 4만</h4)
<ul>
<c:forEach var=”i” begin=”l” end=”9”>
//변수 i의 값을 1부터 9까지 1씩 증가한다.
<li>4 * $에 = ${4 * i}
</c:forEach>
</ul>
<h4>int형 배열 </h4>
<c:forEach v。r="i” items=”${intArray}” begin="2” end=”4” varStatus=”status”>
//배열 intArray의 인덱스 2부터 4까지의 요소의 값을 변수 i에 저장한다.
//루프상태 값을 변수 status에 저장한다.
${status.index}-${status.count}-[${i}] <br />
</c:forEach>
<h4>Map</h4>
<c:forEach var=”i” items=”${map}'>
//Map의 각 원소를 나타내는 Map,Entry를 i에 저장한다.
${i.key} = ${i.value}<br>
</c:forEach>
</body>
</html>
<c:forTokens> 태그
forTokens 태그는 java.util.StringTokenizer 클래스와 같은 기능을 제공하는 태그
<%@ page contentType = ”text/html; charset=utf 8” %>
<%@ taglib prefix=”c” uri=”http://java.sun.com/jsp /jstl/ core" %>
<html>
<head><title>forTokens 태그</title></head>
<body>
콤마와 점을 구분자로 사용:<br>
<c:forTokens var=”token”
items=”빨강색,주황색,노란색,초록색,파랑색,남색.보라색”
delims=”,.’>
${token}
<fc:forTokens)
</body>
</html>
- 국제화 태그
국제화 태그는 특정지역에 따라 알맞은 메시지를 출력해야 할 때 사용한다.
한글 브라우저에서는 한글메시지 출력, 영문 브라우저에서는 영문 메시지를 출력해야 할때 국제화 태그를 사용한다.
- 숫자 및 날짜 포맷팅 처리 태그
숫자와 날짜를 포맷팅할 때 사용하는 태그는 다음과 같다.
<fmt:formatNumber> 태그
숫자를 양식에 맞춰 출력한다.
<fmt:formatNumber value = "숫자값" [type = "값타입"] [pattern="패턴"]
[currentCode="통화코드"] [currencySymbol="통화심볼"]
[groupingUsed = "(true | false)"] [var = "변수명"][scope = "영역"] />
<fmt:formatDate> 태그
날짜 정보를 담고 있는 객체를 포멧팅하여 출력할 때 사용
<fmt:formatDate value = "날짜값"
[type = "타입"] [dateStyle = "날짜스타일"] [timeStyle = "시간스타일"]
[pattern = "패턴"] [tumeZone="타임존"]
[var = "변수명"][scope = "영역"] />
'Back-End > JSP' 카테고리의 다른 글
[JSP] 회원 정보 만들기-1 (0) | 2021.07.20 |
---|---|
[JSP] 회원 정보 만들기 전 (0) | 2021.07.16 |
[JSP] 7. 표현 언어(Expression Language) (1) | 2021.06.19 |
[JSP] 6. 쿠키와 세션 (1) | 2021.06.12 |
[JSP] 5. 자바빈과 <jsp:useBean> 액션 태그 (0) | 2021.06.09 |