BackEnd/Thymeleaf

라디오 버튼

연향동큰손 2024. 7. 23. 16:24

라디오 버튼이란 여러 선택지 중 하나의 선택지를 선택할때 사용한다. (라디오 버튼은 선택을 무조건 하나 해줘야한다.)

 

라디오 버튼을 이용하여 상품의 종류가 무엇인지를 선택하는 코드를 작성해보자.

 

 

<ItemType>

package hello.itemservice.domain.item;

public enum ItemType {
    BOOK("도서"), FOOD("음식"), ETC("기타");

    private final String description;

    ItemType(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }
}

 

 

 

<FormItemController>

itemType은 등록 폼, 조회, 수정 폼에서 모두 사용하므로 @ModelAttribute를 이용하여 모델에 넘겨준다.

@ModelAttribute("itemTypes")
public ItemType[] itemTypes() {
    return ItemType.values();
}

ItemType.values()를 사용하면 해당 ENUM의 모든 정보를 배열로 반환한다.

 

 

<addForm.html>

<!-- radio button -->
<div>
    <div>상품 종류</div>
    <div th:each="type : ${itemTypes}" class="form-check form-check-inline">
        <input type="radio" th:field="*{itemType}" th:value="${type.name()}" class="form-check-input">
        <label th:for="${#ids.prev('itemType')}" th:text="${type.description}" class="form-check-label">
            BOOK
        </label>
    </div>
</div>

 

라디오 버튼은 항상 하나를 선택하도록 되어있으므로 별도의 히든필드가 필요없다.

 

<실행결과>

'BackEnd > Thymeleaf' 카테고리의 다른 글

셀렉트 박스  (1) 2024.07.23
체크 박스 - 멀티  (0) 2024.07.23
체크 박스 - 단일2  (0) 2024.07.23
체크 박스 - 단일(1)  (0) 2024.07.22
타임리프-입력 폼 처리  (0) 2024.07.22