BoardController
페이지 정보
본문
package web.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import web.dto.BoardDTO;
import web.dto.PageRequestDTO;
import web.dto.PageResponseDTO;
import web.service.BoardService;
@Controller
@Log4j2
@RequestMapping("/board/")
@RequiredArgsConstructor
public class BoardController {
private final BoardService boardService;
@GetMapping("list")
public void getList(Model model, PageRequestDTO pageRequestDTO) {
log.info("list ..............");
PageResponseDTO<BoardDTO> responseDTO = boardService.list(pageRequestDTO);
model.addAttribute("result", responseDTO);
}
@GetMapping("register")
public void registerGET() {
log.info("registerGET ..............");
}
@PostMapping("register")
public String registerPost(@Valid BoardDTO boardDTO, BindingResult bindingResult, RedirectAttributes rttr) {
//@Valid BoardDTO boardDTO에서 @Valid 하는 역할은 유효성 검사이다.
log.info("registerPost ..............");
if (bindingResult.hasErrors()) {
log.info("에러 ~~~~~~~~~~~~~~~~~");
rttr.addFlashAttribute("errors", bindingResult.getAllErrors());
return "redirect:/board/register"; // 유효성 검사 실패 시 등록 폼으로 리디렉션
}
log.info(boardDTO);
Long bno = boardService.register(boardDTO);
rttr.addFlashAttribute("bno", bno); //등록 성공후 조회 페이지 이용시 사용
return "redirect:/board/list"; // 등록 성공 시 게시판 목록으로 리디렉션
}
}
- 이전글BoardDTO 24.06.19
- 다음글board/register.html 24.06.19
댓글목록
등록된 댓글이 없습니다.