th:object
(Form에 쓸 객체를 담고)th:field
(value들을 입력한다), th:errors
, th:errorclass
- 예시 (object에 Controller의 model에서 넘어온 객체를담는다)
체크박스를 체크하면 HTML Form에서 open=on이라는 값이 넘어가는데 스프링은 on→true로 변환해준다.
📌 !! 문제는 체크박스를 체크하지 않았을 경우 false값이 아닌 null값이 반환이 된다.
해결 : 히든필드는 데이터값이 무조건 넘어가기 때문에 체크가 되어있지 않으면 false를 반환해준다.
_open
처럼 기존 체크 박스이름 앞에 _
를 붙여준다.th:field
를 사용해 히든필드 따로 생성없이 타임리프가 해결해준다.
@ModelAttribute
의 특별한 기능
- 어떤 메서드가 호출되든 "모델"에 다 담기는 기능
- model에 담아야할 메서드가 중복이 될때 사용할수있다.
<label for ="id 값">
을 안해줘도된다.📌 번외 : Enum타입.values를 하면 Enum 클래스의 값을 호출해 사용할수있다.