jpablog : board detail
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.example.jpablog.controller;
|
||||
|
||||
import com.example.jpablog.model.Board;
|
||||
import com.example.jpablog.service.BoardService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -8,6 +9,7 @@ import org.springframework.data.web.PageableDefault;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
|
||||
@Controller
|
||||
@RequiredArgsConstructor
|
||||
@@ -23,6 +25,12 @@ public class BoardController {
|
||||
return "index";
|
||||
}
|
||||
|
||||
@GetMapping("/board/{id}")
|
||||
public String findById(@PathVariable Long id, Model model) {
|
||||
model.addAttribute("board", boardService.글상세보기(id));
|
||||
return "board/detail";
|
||||
}
|
||||
|
||||
@GetMapping("/board/saveForm")
|
||||
public String save() {
|
||||
return "board/saveForm";
|
||||
|
||||
@@ -31,4 +31,9 @@ public class BoardService {
|
||||
public Page<Board> 글목록(Pageable pageable) {
|
||||
return boardRepository.findAll(pageable);
|
||||
}
|
||||
|
||||
public Board 글상세보기(Long id) {
|
||||
return boardRepository.findById(id)
|
||||
.orElseThrow(() -> new IllegalArgumentException("글 상세보기 실패 : 아이디를 찾을 수 없습니다."));
|
||||
}
|
||||
}
|
||||
|
||||
21
jpablog/src/main/webapp/WEB-INF/views/board/detail.jsp
Normal file
21
jpablog/src/main/webapp/WEB-INF/views/board/detail.jsp
Normal file
@@ -0,0 +1,21 @@
|
||||
<%@page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||||
|
||||
<%@include file="../layout/header.jsp"%>
|
||||
|
||||
<div class="container">
|
||||
<button class="btn btn-secondary" onclick="history.back()">돌아가기</button>
|
||||
<button id="btn-update" class="btn btn-warning">수정</button>
|
||||
<button id="btn-delete" class="btn btn-danger">삭제</button>
|
||||
<br/><br/>
|
||||
<div class="form-group">
|
||||
<h3 id="title">${board.title}</h3>
|
||||
</div>
|
||||
<hr/>
|
||||
<div class="form-group">
|
||||
<div id="content">${board.content}</div>
|
||||
</div>
|
||||
<hr/>
|
||||
</div>
|
||||
|
||||
<script src="/js/board.js"></script>
|
||||
<%@include file="../layout/footer.jsp"%>
|
||||
@@ -7,7 +7,7 @@
|
||||
<c:forEach var="board" items="${boards.content}">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">${board.title}</h4>
|
||||
<a href="/api/board/${board.id}" class="btn btn-primary">상세보기</a>
|
||||
<a href="/board/${board.id}" class="btn btn-primary">상세보기</a>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
@@ -15,9 +15,11 @@
|
||||
<ul class="pagination justify-content-center">
|
||||
<c:choose>
|
||||
<c:when test="${boards.first}">
|
||||
<li class="page-item disabled"><a class="page-link" href="/">First</a></li>
|
||||
<li class="page-item disabled"><a class="page-link" href="?page=${boards.number -1}">Previous</a></li>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<li class="page-item"><a class="page-link" href="/">First</a></li>
|
||||
<li class="page-item"><a class="page-link" href="?page=${boards.number -1}">Previous</a></li>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
@@ -31,18 +33,15 @@
|
||||
<c:choose>
|
||||
<c:when test="${boards.last}">
|
||||
<li class="page-item disabled"><a class="page-link" href="?page=${boards.number + 1}">Next</a></li>
|
||||
<li class="page-item disabled"><a class="page-link" href="?page=${boards.totalPages - 1}">Last</a></li>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<li class="page-item"><a class="page-link" href="?page=${boards.number + 1}">Next</a></li>
|
||||
<li class="page-item"><a class="page-link" href="?page=${boards.totalPages - 1}">Last</a></li>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
let page = "${boards.pageable.offset}"
|
||||
console.log(page);
|
||||
</script>
|
||||
|
||||
|
||||
<%@include file="layout/footer.jsp"%>
|
||||
Reference in New Issue
Block a user