-
셀렉트 박스 (배송 방식 : 빠른 배송, 일반 배송, 느린 배송)스프링/스프링 MVC 패턴 2023. 2. 19. 15:32
우선 item 객체에 deliveryCode를 추가해준다.
@ModelAttribute("deliveryCodes") public List<DeliveryCode> deliveryCodes() { List<DeliveryCode> deliveryCodes = new ArrayList<>(); deliveryCodes.add(new DeliveryCode("FAST", "빠른 배송")); deliveryCodes.add(new DeliveryCode("NORMAL", "일반 배송")); deliveryCodes.add(new DeliveryCode("SLOW", "느린 배송")); return deliveryCodes; }
모델에 DeliveryCode의 리스트를 넘길 수 있도록 해주는 @ModelAttribute를 만들어준다.
<!-- SELECT --> <div> <div>배송 방식</div> <select th:field="*{deliveryCode}" class="form-select"> <option value="">==배송 방식 선택==</option> <option th:each="deliveryCode : ${deliveryCodes}" th:value="${deliveryCode.code}" th:text="${deliveryCode.displayName}">FAST</option> </select> </div>
addForm에 위와 같은 코드를 만들어준다.
select 박스는 위와 같은 구조를 가지게 되는데 4번째 줄에서 select라고 적어주고 option 키워드를 통해 배송 방식 선택이라는 문자를 넣어준다.
그 다음에는 th:each로 반복문을 돌려서 deliveryCodes에 있는 3가지 리스트를 다 보여주게 한다.
th:text="${deliveryCode.displayName}"은 FAST가 아니라 빠른 배송으로 출력하도록 만들어준다.
상품 상세 페이지와 수정 페이지에도 같은 코드를 넣어준다.
이제 상품 등록 폼에서 배송 방식도 선택 할 수 있다.
상품 상세 페이지에서도 잘 나오고, 수정에서 배송 방식을 수정할 수도 있다. 물론 목록에서 상품을 볼 때에도 수정한 내용이 잘 적용된다.
'스프링 > 스프링 MVC 패턴' 카테고리의 다른 글
상품 등록 범위 검증 - V2 (BindingResult) (0) 2023.02.23 상품 등록 범위 검증 - V1 (0) 2023.02.22 라디오 버튼 (상품 종류 : 도서, 식품, 기타) (0) 2023.02.19 체크 박스의 다중(지역: 서울, 부산, 제주) (0) 2023.02.19 판매 여부 체크박스 (0) 2023.02.19