이 같은 코드를 상상해 바인딩되기 전에 내 User 객체. 그래서/user/save를 호출하면 initBinder()와 prepareUser()가 실행됩니다.@ModelAttribute
Spring MVC는 @ModelAttribute ("user") 메서드를 실행하기 전에이 메서드를 적용해야한다는 것을 이해할 수 있도록 @InitBinder와 @ModelAttribute에서 "user"를 설정했습니다.
@ModelAttribute ("user")로 주석 된 메소드는이 컨트롤러의 모든 매핑 된 메소드보다 먼저 실행된다는 점이 문제입니다. 예를 들어,/user를 호출하면 prepareUser은 list() 메소드보다 먼저 실행됩니다. 이 preparer은 같은 컨트롤러에 모든 메소드를 가지고있는 save() 메소드 전에 만 실행될 수 있습니까? @ModelAttribute
가 무엇인지 정말 아니에요
감사
'prepareUser'는 실제로 무엇을합니까? – skaffman
@skaffman @skaffman 사용자 이름 param을 가져 와서 데이터베이스에서 User 객체를로드하므로 바인드 할 수없는 모든 데이터 (예 : password)는 바인딩 후 유지 될 때 null 값으로 덮어 쓰지 않습니다. – Javi