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) 값이 갈지  적어준다 )

 

 

 

// 삭제하고 다시 리스트로 가는거 ~ 

전해줄 값이 딱히 없어서 그냥 리다이렉트 만 함 

 

 

수정할 게시물 값을 주고 그 화면으로 넘어감 ~ 

 

 

수정을 하고 ~ 그 수정된 정보를 가진 상세페이지로 넘어감 ~ 

Comments