Service부분이 모두 구현되었으면 마지막으로 Controller부분을 구현해주도록 하겠습니다.
/list 와 /check 그리고 /modify 매핑에서는 클라이언트쪽에서 각각에 맞는 데이터가 필요하므로 페이지로 이동할때 데이터를 옮겨줄수있는 Model을 사용해서 프론트엔드쪽으로 넘겨주었습니다. 프론트엔드 쪽에서 Model데이터를 받아서 JSP파일에서 사용할수있는 EL표기법으로 데이터를 표현하는 부분은 다음 글에서 작성하겠습니다.
# BoardController.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
package com.example.demo.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import com.example.demo.paging.PageCreator;
import com.example.demo.paging.PageVO;
import com.example.demo.search.SearchVO;
import com.example.demo.service.BoardService;
import com.example.demo.vo.BoardVO;
@Controller
public class BoardController {
@Autowired
BoardService service;
//검색과 페이징이 포함된 게시물 전체리스트 조회
@GetMapping("/list")
public String list(SearchVO vo ,Model model) {
List<BoardVO> list = service.getAllArticles(vo);
PageCreator pc = new PageCreator();
pc.setPaging(vo);
pc.setTotalArticles(service.countArticles(vo));
model.addAttribute("all",list);
model.addAttribute("pc",pc);
return "list";
}
//게시물 등록페이지 이동
@GetMapping("/write")
public String write() {
return "write";
}
//게시물 등록
@PostMapping("/write")
public String write2(BoardVO vo)
{
service.insert(vo);
return "redirect:list";
}
//게시물 조회
@GetMapping("/check")
public String check(int boardNum,Model model) {
BoardVO vo = service.getArticle(boardNum);
model.addAttribute("vo", vo);
return "content";
}
//게시물 삭제
@GetMapping("/delete")
public String delete(int boardNum)
{
service.delete(boardNum);
return "redirect:list";
}
//게시물 수정페이지 이동
@GetMapping("/modify")
public String modify(int boardNum,Model model) {
BoardVO vo = service.getArticle(boardNum);
model.addAttribute("vo", vo);
return "modify";
}
//게시물 수정
@PostMapping("/modify")
public String modify2(BoardVO article) {
service.update(article);
return "redirect:list";
}
}
|
cs |
'Spring Boot 개인 프로젝트 > 게시판(Board)' 카테고리의 다른 글
(7 - 2) 게시물 조회와 수정파일(JSP File)에서 Model로 넘어온 데이터들을 JSTL과EL표기법을 활용해서 표현하기 (0) | 2021.09.19 |
---|---|
(7 - 1) 게시판 리스트파일(JSP File)에서 Model로 넘어온 데이터들을 JSTL과EL표기법을 활용해서 표현하기 (0) | 2021.09.19 |
(5) 지금까지 한 내용 중간정리 그리고 IBoardService인터페이스와 BoardService구현 (0) | 2021.09.18 |
(4 - 2)(게시물 리스트 페이징) 네비게이션 바를 만들기위한 PageCreator클래스 생성 (0) | 2021.09.18 |
(4 - 1)(게시물 리스트 페이징) 검색기능과 페이지 정보가 포함된 클래스들 생성 (0) | 2021.09.18 |