728x90
JSTL
아래의 코드는 이전 글에서 사용하던 View 페이지의 자바 코드이다.
<%
List<Notice> list = (List)request.getAttribute("list");
for(Notice n : list){
pageContext.setAttribute("n", n);
%>
이 반복문을 제거하기 위해서 사용하는 것이 JSTL이다.
JSTL을 사용하기 위해서는 아래의 사이트에서 jar 파일을 다운받아야 한다.
https://mvnrepository.com/artifact/javax.servlet/jstl/1.2
다운을 받았다면 JSP 파일 상단에 아래의 코드를 적어준다면 JSTL을 사용할 준비가 된 것이다.
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
이 코드는 길이가 긴 uri를 대신해서 c라는 식별자를 사용할 수 있도록 해주는 것인데
Jasper에게 서버에서 처리할 taglib임을 알 수 있게 해주는 역할을 한다.
JSTL을 사용하여 자바 코드를 제거한다면 <c:forEach></c:forEach>를 사용하면 된다.
<c:forEach></c:forEach>는 List와 같은 배열 요소를 순서대로 반복해서 처리할 수 있는 태그이다.
<c:forEach var="n" items="${ list }" begin="0" end="3" varStatus="st">
<tr>
<td>${st.index + 1} / ${ n.id }</td>
<td class="title indent text-align-left"><a href="detail?id=${n.id }">${ n.title }</a></td>
<td>${ n.writer_id }</td>
<td>
${ n.regDate }
</td>
<td>${ n.hit }</td>
</tr>
</c:forEach>
저장소에 남겨져 있는 list를 하나씩 꺼내서 담는 그릇이 n이 되는 것이다.
forEach 속성은 아래 표와 같다.
항목 | 설명 |
var | 사용할 변수명 |
items | List나 ArrayList와 같은 Collection 객체 |
begin | 시작하는 index |
end | 종료되는 index |
varStatus | 반복 index 변수 |
varStatus는 아래 표와 같이 사용할 수 있다.
값 | 설명 |
current | var 속성의 값과 같은 현재 아이템 |
index | 0부터 시작하는 인덱스 |
count | 1부터 시작하는 인덱스 |
first | 현재가 첫번째 루프이면 참을 반환 |
last | 현재가 마지막 루프이면 참을 반환 |
begin | 시작하는 값 |
end | 끝나는 값 |
step | 증가하는 값 |
현재 시작하는 index가 0이므로 0에다가 1을 더했기 때문에 1부터 시작하는 것을 볼 수 있다.
중간 정리
728x90
'강의 정리하기 > JSP와 Servlet' 카테고리의 다른 글
JSTL의 forTokens를 이용한 첨부파일 목록 출력하기 (0) | 2023.07.27 |
---|---|
JSTL을 이용해서 Pager 번호 만들기 (0) | 2023.07.24 |
Model 데이터 구조화하고 View 페이지 은닉하기 (0) | 2023.07.18 |
스파게티 코드를 Model1과 Model2로 바꾸기 (0) | 2023.07.16 |
JSP에서 Oracle 사용하기 (0) | 2023.07.16 |