반응형
다음으로는 list페이지를 만들어볼것이다.
매번 확인을 데이터베이스에서 하는것도 불편했고 사람들에게 리스트를 보여주려면 전체 리스트 페이지가 필요할것이다.
먼저 sql을 짜보자.
- bookSQL.xml 추가
<select id="select_list" parameterType="hashMap" resultType="hashMap">
<![CDATA[
select
book_id,
title,
category,
price,
insert_date
from
book
order by insert_date desc
]]>
</select>
- bookDao.java 추가
public List<Map<String, Object>> selectList(Map<String, Object> map) {
return this.sqlSessionTemplate.selectList("book.select_list", map);
}
List는 java.util.*; 안에 있는 패키지다.그리고 혹시 list에 빨간줄이 뜨면 List패키지를 import 해준다.
- bookServiceImpl.java 추가
@Override
public List<Map<String, Object>> list(Map<String, Object> map) {
return this.bookDao.selectList(map);
}
- bookService.java 슈퍼타입 추가
List<Map<String, Object>> list(Map<String, Object> map);
- bookController.java 추가
@RequestMapping(value = "list")
public ModelAndView list(@RequestParam Map<String, Object> map) {
List<Map<String, Object>> list = this.bookService.list(map);
ModelAndView mav = new ModelAndView();
mav.addObject("data", list);
mav.setViewName("/book/list");
return mav;
}
다음은 view를 보여줘야하는데 jsp에서 for문을 돌려서 하나씩 리스트를 표출할 페이지를 만든다.
jstl의 기술인 c: for를 사용해서 구현하였다.
- list.jsp 생성 및 추가
<%@ page pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>책 목록</title>
</head>
<body>
<h1>책 목록</h1>
<table>
<thead>
<tr>
<td>제목</td>
<td>카테고리</td>
<td>가격</td>
</tr>
</thead>
<tbody>
<c:forEach var="row" items="${data}">
<tr>
<td><a href="/detail?bookId=${row.book_id}"> ${row.title}
</a></td>
<td>${row.category}</td>
<td><fmt:formatNumber type="number" maxFractionDigits="3"
value="${row.price}" /></td>
</tr>
</c:forEach>
</tbody>
</table>
<p>
<a href="/create">생성</a>
</p>
</body>
</html>
목록을 보면 리스트가 쭉 나올것이다.
기회가 된다면 추후에 표 더 이쁘게 설정하는 법이나 css 꾸미는 법도 추가 포스팅을 올리도록 하겠다.
반응형
'IT > Java' 카테고리의 다른 글
spring 예제 part.final (0) | 2021.12.27 |
---|---|
spring 예제 part.12 (0) | 2021.12.26 |
spring 예제 part.10 (0) | 2021.12.24 |
spring 예제 part.9 (0) | 2021.12.23 |
spring 예제 part.8 (1) | 2021.12.22 |
댓글