요구사항 추가

학습 페이지

타임리프를 이용해서 form에서 라디오버튼, 체크박스, 셀렉트 박스등을 편리하게 사용하는 법을 배워보자…

Untitled

이런 예시 이미지를 만들거임…

먼저 상품 종류에 해당하는 enum클래스를 만들어주자.

package hello.itemservice.domain.item;

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

    private final String description;

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

그리고 배송과 관련된, 데이터형식을 하나 만들어주자(DTO)

/*
*  FAST: 빠른 배송
*  NORMAL: 일반 배송
*  SLOW: 느린 배송
* */

@Data
@AllArgsConstructor
public class DeliveryCode {

    private String code;
    private String displayName;

}

위에서 필드 code 는 내부에서 사용할 말 그대로 코드, 그리고 displayName 은 고객이 선택하게 되는 “빠른 배송” 등의 이름을 말한다.

그리고 Item도메인을 수정해주자.

판매 여부 필드와 등록 지역, 상품 종류,배송 종류 필드 줘야 한다.

@Data
public class Item {

    private Long id;
    private String itemName;
    private Integer price;
    private Integer quantity;
//아래를 추가해주자.
    private Boolean open;
    private List<String> regions;
    private ItemType itemType;
    private String deliveryCode;

근데 여기서 잘 이해가 안되는건… deliveryCode를 String타입으로 선언한다는 것임.

기껏 deliveryCode 클래스 만들고 왜 String으로 code를 사용하는 걸까..?

체크박스 - 단일1

쉬워보이는데 함정이 있다고 함…