블로그 컨텐츠 목록 매퍼 인터페이스 메소드 작성
/src/main/java/v2.mvc.spring.blog.mapper/BlogMapper.java
List<BlogListResponseVO> selectList(BlogListRequestVO blogListRequestVO);
BlogMapper
파일을 엽니다.- 코드를 작성합니다.
블로그 컨텐츠 목록 서비스 메소드 작성
@Override
public List<BlogListResponseVO> list(BlogListRequestVO blogListRequestVO) {
List<BlogListResponseVO> result = this.blogMapper.selectList(blogListRequestVO);
return result;
}
BlogServiceImpl
서비스 구현 클래스 파일을 엽니다.- 코드를 작성합니다.
- 자동 불러오기로 필요한 패키지들을 선언합니다.
- STS의 기능을 이용해
list
메소드의 서비스 인터페이스를 생성합니다.
블로그 컨텐츠 목록 컨트롤러 메소드 작성
@GetMapping("/list")
public String list(BlogListRequestVO blogListRequestVO, Model model) {
model.addAttribute("blogListRequestVO", blogListRequestVO);
List<BlogListResponseVO> blogListResponseVOList = this.blogService.list(blogListRequestVO);
model.addAttribute("blogListResponseVOList", blogListResponseVOList);
return "/blog/list";
}
블로그 컨텐츠 목록 뷰 작성
/src/main/webapp/WEB-INF/views/blog/list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>블로그 컨텐츠 목록</title>
</head>
<body>
<div>
<form>
<input type="text" name="search" value="${blogListRequestVO.search}" style="width:50%;" />
<input type="submit" name="search_button" value="검색" />
</form>
</div>
<c:if test="${not empty blogListResponseVOList}">
<table>
<thead>
<tr>
<th>글번호</th>
<th>제목</th>
<th>입력일</th>
<th>수정</th>
</tr>
</thead>
<tbody>
<c:forEach var="blogListResponseVO" items="${blogListResponseVOList}">
<tr>
<td>${ blogListResponseVO.blgContSeq}</td>
<td>${ blogListResponseVO.title}</td>
<td>${ blogListResponseVO.insertDtFormat}</td>
<td>
<a href="/edit/${ blogListResponseVO.blgContSeq}">수정</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</c:if>
<c:if test="${empty blogListResponseVOList}">
<strong>검색 결과가 없습니다.</strong>
</c:if>
</body>
</html>
list.jsp
파일을 생성합니다.- 위 내용을 입력합니다.