더북(TheBook)

코드13-4 BookController.java

package com.springmvc.controller;
...
import javax.validation.Valid;
import org.springframework.validation.BindingResult;

@Controller
@RequestMapping("/books")
public class BookController {
    ...

    @PostMapping("/add")
    public String submitAddNewBook(@Valid @ModelAttribute("NewBook") Book book, BindingResult result) { 

        if (result.hasErrors())
            return "addBook";
        }
        MultipartFile bookImage = book.getBookImage();
        String saveName = bookImage.getOriginalFilename();
        File saveFile = new File("C:\\upload", saveName);
    ...
}

submitAddNewBook() 메서드는 사용자의 입력 값을 커맨드 객체 NewBook으로 매핑할 때 유효성 검사가 진행됩니다. 그 결과 값은 BindingResult 타입의 result 객체에 담깁니다.

유효성 검사로 발생된 오류가 BindingResult 타입의 result 객체에 있으면 뷰 이름 addBook을 반환하여 addBook.jsp에 출력합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.