728x90
<c:foreach> 는 배열 또는 List, Map 등의 컬렉션 객체에 저장되어 있는 요소들을 순차적으로 처리할 때 사용한다.
자바에서의 for문과 유사한 형태이다.
<c:forEach items="${}" var="" varStatus="">
</c:forEach>
item="${}" 부분의 {} 에는 request(page, session, application)에 Set되어진 값을 입력한다.
// 방명록 관한 controller.java 파일입니다.
request.setAttribute("gList", guestList);
// 방명록 컨트롤러.java에서 request에 set한 부분
var는 해당 forEach에 대한 변수명과 같은 것으로 사용자가 임의 값을 지정해주면 된다.
값을 불러올 때에는 var로 지정한 값과 해당 값을 가져오기 위한
getter 메소드에서 get을 제외한 메소드 뒷부분을 입력하면 된다.
// 방명록에 대한 Vo.java 파일입니다.
public int getNo() {
return no;
}
public String getName() {
return name;
}
public String getPassword() {
return password;
}
public String getContent() {
return content;
}
public String getRegDate() {
return regDate;
}
위의 정리한 정보들을 취합하여 방명록 리스트를 불러오는 예시 코드를 작성하면 다음과 같습니다.
item="${}" -> controller의 request.setAttribute("gList", guestList);
var="" -> 변수명 "guestVo"
varStatus ="status"
방명록 번호를 알고 싶을 땐
var의 "guestVo"
Vo에 있는 getNo의 get 뒷 부분 "no"
이 두가지를 섞어 guestVo.no로 작성한다.
// el, jstl을 적용한 List.jsp 파일 입니다.
<c:forEach items="${requestScope.gList}" var="guestVo" varStatus="status">
<table class="guestRead">
<colgroup>
<col style="width: 10%;">
<col style="width: 40%;">
<col style="width: 40%;">
<col style="width: 10%;">
</colgroup>
<tr>
<td>${guestVo.no }</td>
<td>${guestVo.name }</td>
<td>${guestVo.regDate }</td>
<td><a href="./guestbook?action=deleteForm&no=${guestVo.no}">삭제</a>
</tr>
<tr>
<td colspan="4">${guestVo.content }</td>
</tr>
</table>
<br>
</c:forEach>
반응형
'Server > Java' 카테고리의 다른 글
[Jsp&Servlet] 본인 게시물 조회수 증가 방지 Controller & Dao (0) | 2022.06.09 |
---|---|
[Jsp&Servlet] 검색과 리스팅을 한번에! Controller & DAO & jsp (0) | 2022.06.09 |
[Jsp&Servlet] EL 같은 이름의 내장 객체에 대한 우선 순위 (0) | 2022.06.09 |
[Jsp&Servlet] JSTL <c:foreach> , ${sessionScope}태그; 게시물 목록 불러오기 (0) | 2022.06.08 |
[Jsp&Servlet] Jsp/Servlet 게시물 등록 시 줄바꿈 (0) | 2022.06.08 |