5.4.4 실습 ModelAndView 클래스를 사용하여 결과 반환하기

    저장소 객체에 저장된 도서 목록을 웹 브라우저에 모두 출력해 보겠습니다. 도서 목록의 데이터를 모델 속성에 저장하여 뷰 페이지에 전달합니다. 그리고 모델과 뷰를 한 번에 처리할 수 있는 ModelAndView 클래스를 사용하여 결과를 출력해 보겠습니다.

    1. BookController 클래스에 다음과 같이 추가하고 수정합니다. 요청 매핑 경로가 /books/all인 requestAllBooks() 메서드에 ModelAndView 객체를 사용하여 모델과 뷰를 처리합니다.

    코드 5-5 BookController.java

    package com.springmvc.controller;
    ...
    import org.springframework.web.servlet.ModelAndView; // 추가
    ...
    @Controller
    @RequestMapping("/books")
    public class BookController {
    
        ...
    
        @GetMapping
        public String requestBookList(Model model) {
            List<Book> list = bookService.getAllBookList();
            model.addAttribute("bookList", list);
            return "books"; 
        }
    
        @GetMapping("/all") // 수정
        public ModelAndView requestAllBooks() {
            ModelAndView modelAndView = new ModelAndView(); 
            List<Book> list = bookService.getAllBookList();
            modelAndView.addObject("bookList", list); 
            modelAndView.setViewName("books"); 
            return modelAndView; 
        }
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.