7.3.2 폼 파라미터의 커스텀 데이터 바인딩

    setAllowedFields() 메서드에서 매개변수의 기본값은 폼 페이지의 모든 파라미터이지만, 폼 페이지에서 원하지 않는 파라미터가 할당되는 것을 방지하려면 데이터 바인딩을 허용하는 폼 파라미터를 설정합니다. 반대에 해당하는 메서드는 setDisallowedFields()입니다.

    public void setAllowedFields("폼 파라미터 이름1", ...) 
    public void setDisallowedFields("폼 파라미터 이름1", ...)

    다음은 setAllowedFields() 메서드를 사용하여 폼 페이지에서 전달된 파라미터에 대해 데이터 바인딩을 허용하는 예입니다.

    앞의 예제에서 폼 페이지의 hobby 파라미터를 제외한 모든 파라미터를 바인딩하겠습니다.

    데이터 바인딩을 허용하는 setAllowedFields() 메서드 적용

    package com.springmvc.chap07;
    ...
    import org.springframework.web.bind.WebDataBinder;
    import org.springframework.web.bind.annotation.InitBinder;
    ...
    @Controller
    public class Example04Controller {
        @GetMapping("/exam04")
        public String showFrom(Model model) {
            model.addAttribute("member", new Member());
            return "webpage07_01";
        }
    
        @PostMapping("/exam04")
        public String submit(@ModelAttribute Member member, Model model) {
            model.addAttribute("member", member);
            return "webpage07_02";
        }
    
        @InitBinder
        public void initBinder(WebDataBinder binder) {
            binder.setAllowedFields("id", "password", "city", "sex" ); → hobby 항목이 없음
        }
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.