studyplan
spring boot 게시판 만들기 8. @Controller // 조건부 쿠키 만들기 ~ @RequestMapping() , @pathvariable , @ModelAttribute() redirect: 사용 본문
spring boot 게시판 만들기 8. @Controller // 조건부 쿠키 만들기 ~ @RequestMapping() , @pathvariable , @ModelAttribute() redirect: 사용
무한머니 2022. 7. 21. 01:52@RequestMapping("/board")
"/board" 가 앞에 붙은 ~ 이라는 뜻
@RequiredArgsConstructor 는
final 이 붙은 객체의 생성자를 만들어주는거 ~
게시물 목록 요청 ~~
Map<String , Object> boardMap = boardService.findAllService(search);
브로드 서비스에 , 파인드 올 서비스(서치) 가 가져올 값은 ~
findDataMap
값이고 ~
findDataMap 안에는
"bList" 라고 불리는 , boardList 가 있고
"tc" 라고불리는 , mapper.getTotalCount() 게시물의 총 갯수 가 있다
boardList 는 총 게시물을 가져오는 리스트이다 ~
결론 ~
boardMap 안에는 "bList" 라고 불리는 , boardList 정보와~ "tc" 라고불리는 , mapper.getTotalCount() 총 게시물 수가 담겨져 있다 ~
그걸 ~ 모델이라는 곳에 정보를 담아서 ~
board/board-list
라는 경로에 넣어주면 ~
board/board-list
안에서 정보를 가지고 jsp 를 돌리는 것이다 ~
// 상세 조회를 정확하게 알기 전에 ~
저기 빨간색 네모를 잘 봐야 한다 ~
@GetMapping( * )
괄호 안에 * 안에 들어오는 값이 있는데
저걸 설명하자면
/board/content/{boardNo} 정보가 들어온다 ~
이때 boardNo 정보가
@pathvariable 옆에 Long boardNo 라는 뜻이다 ~
// 또 이어서 설명 하자면
1. 동그라미 친 부분 ~
저기에 너가 선택한 번호가 담겨져 있고 , 요청받은 정보 , 요청을 줄 정보 ~ 도 함께 담겨져 있다
2. 화살표로 이어진 네모는 ~
@ModelAttribute 이 개념을 알아야 하는데
@ModelAttribute 이건 ~ Page 형태의 page 가 주는것도 받는것도 같은 동일 이름이기 때문에 저렇게 만들어 줄수 있다
보통 같았으면
model.addAttribute("p",page);
모델을 써서 넣어준다 ~
이건 그냥 .. 게시물 쓰는 화면을 키는 메서드
// 여기서 핵심 !
리퀘스트 리스폰 이건 기반이 Httpservlet 이건데 이건 브라우저로 가는 개념이기 떄문에 모델에 담아가는거고
redirect 개념은 다시 board/list 위의 메서드로 가는 개념이기 때문에 model 로써 전해주고 싶은 값을 넣어줄수 없다
그래서
RedirectAttributes ra
RedirectAttributes 타입의 ra 를 소환해서
ra에다가 addFlashAttribute 붙여서 (괄호안에 전해주고싶은 것의 이름 msg 를넣고 , msg 를 쓰면 어떤(reg-success) 값이 갈지 적어준다 )
// 삭제하고 다시 리스트로 가는거 ~
전해줄 값이 딱히 없어서 그냥 리다이렉트 만 함
수정할 게시물 값을 주고 그 화면으로 넘어감 ~
수정을 하고 ~ 그 수정된 정보를 가진 상세페이지로 넘어감 ~