작성
·
185
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
체크박스 체크 유무를 보여주는 item.html에서 다른 속성 값들은 th:value를 사용하는데 체크박스만 th:field를 사용하는 이유가 있나요? th:value로 바꿔서 실행하니 체크해도 체크표시가 안 나와서 궁금합니다.
답변 1
2
안녕하세요. 강민석님
th:field
th:field
속성은 주로 폼 바인딩(form binding)에 사용됩니다. 즉, Spring MVC의 컨트롤러에서 모델 객체의 특정 필드를 폼 입력 요소에 연결(bind)하는 데 사용됩니다.
th:field
는 name
, value
, id
등의 HTML 속성을 자동으로 설정해 줍니다. 이는 폼 데이터가 서버로 제출될 때 모델 객체의 해당 필드와 정확하게 매핑되도록 해줍니다.
체크박스에서 th:field
를 사용하면, 체크박스의 체크 유무(checked or unchecked)가 해당 모델 객체의 필드 값(보통은 boolean 타입)과 자동으로 연결됩니다.
th:value
th:value
속성은 주로 입력 요소의 값을 설정할 때 사용됩니다. 이 값은 서버로 제출될 때 해당 입력 요소의 값으로 전달됩니다.
체크박스의 경우, th:value
는 체크박스가 체크됐을 때 서버로 전송될 값을 지정합니다. 하지만 체크박스의 체크 유무 자체를 제어하지는 않습니다.
감사합니다.