라디오 버튼
라디오 버튼은 여러 선택지 중에 하나를 선택할 때 사용할 수 있다. 라디오 버튼을 자바 ENUM을 활용해서 개발해보자
예제
FormItemController - 추가
itemTypes
를 등록 폼, 조회, 수정 폼에서 모두 사용하므로 @ModelAttribute 의 특별한 사용법을 적용하자. ItemType.values()
를 사용하면 해당 ENUM의 모든 정보를 배열로 반환한다.
➜ 예) [BOOK, FOOD, ETC]
addForm.html - 추가
실행 결과, 폼 전송
itemType=FOOD //음식 선택, 선택하지 않으면 아무 값도 넘어가지 않는다.
로그 추가
log.info("item.itemType={}", item.getItemType());
실행 로그
item.itemType=FOOD: //값이 있을 때
item.itemType=null: //값이 없을 때
체크 박스는 수정시 체크를 해제하면 아무 값도 넘어가지 않기 때문에, 별도의 히든 필드로 이런 문제를 해결했다.
라디오 버튼은 이미 선택이 되어 있다면, 수정시에도 항상 하나를 선택하도록 되어 있으므로 체크 박스와 달리 별도의 ⭐️ 히든 필드를 사용할 필요가 없다.
타임리프로 생성된 HTML
선택한 식품( FOOD )에 "checked="checked" 가 적용된 것을 확인할 수 있다
인프런 김영한님의 Sping강의 기반으로 공부한 것을 작성한 블로그입니다.
출처 : 인프런 -🔗 스프링 MVC 2편 by 우아한형제 김영한이사님
'Thymeleaf > Thymeleaf - 스프링 통합과 폼' 카테고리의 다른 글
Thymeleaf + Spring - 셀레트 박스 (0) | 2023.04.04 |
---|---|
Thymeleaf + Spring - 멀티체크 박스 (0) | 2023.04.04 |
Thymeleaf + Spirng - 단일체크 박스 (0) | 2023.04.04 |
Thymeleaf + Spring - MVC요구사항 추가 (0) | 2023.04.04 |
Thymeleaf + Spring - 입력 폼 처리 (0) | 2023.04.04 |