오봉이와 함께하는 개발 블로그
스프링 MVC 2 - 셀렉트 박스 본문
728x90
셀렉트 박스
셀렉트 박스는 여러 선택지 중에 하나를 선택할 때 사용할 수 있다.
- 배송 방식
- 빠른 배송
- 일반 배송
- 느린 배송
- 셀렉트 박스로 하나만 선택할 수 있다.
FormItemController - 추가
@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
라는 자바 객체를 사용하는 방법으로 진행한다.DeliveryCode
를 등록 폼, 조회, 수정 폼 모두에서 사용하므로 @ModelAttribute
를 사용하자.
addForm.html - 추가
<!-- 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>
<hr class="my-4">
타임리프로 생성된 HTML
<!-- SELECT -->
<div>
<DIV>배송 방식</DIV>
<select class="form-select" id="deliveryCode" name="deliveryCode">
<option value="">==배송 방식 선택==</option>
<option value="FAST">빠른 배송</option>
<option value="NORMAL">일반 배송</option>
<option value="SLOW">느린 배송</option>
</select>
</div>
item.html
<!-- SELECT -->
<div>
<div>배송 방식</div>
<select th:field="${item.deliveryCode}" class="form-select" disabled> <option value="">==배송 방식 선택==</option>
<option th:each="deliveryCode : ${deliveryCodes}" th:value="${deliveryCode.code}" th:text="${deliveryCode.displayName}">FAST</option>
</select>
</div>
<hr class="my-4">
editForm.html
<!-- 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>
<hr class="my-4">
타임리프로 생성된 HTML
<!-- SELECT -->
<div>
<DIV>배송 방식</DIV>
<select class="form-select" id="deliveryCode" name="deliveryCode">
<option value="">==배송 방식 선택==</option>
<option value="FAST" selected="selected">빠른 배송</option>
<option value="NORMAL">일반 배송</option>
<option value="SLOW">느린 배송</option>
</select>
</div>
selected="selected"
선택된 샐랙트 박스가 유지되는 것을 확인할 수 있다.
출처 : 인프런 김영한 지식공유자님 강의 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
728x90
'BE > Thymeleaf' 카테고리의 다른 글
스프링 MVC 2 - 웹 애플리케이션 국제화 적용(Thymeleaf) (0) | 2022.08.18 |
---|---|
스프링 MVC 2 - 웹 애플리케이션에 메시지 적용(Thymeleaf) (0) | 2022.08.18 |
스프링 MVC 2 - 라디오 버튼 (0) | 2022.08.18 |
스프링 MVC 2 - 체크 박스 멀티 (0) | 2022.08.17 |
스프링 MVC 2 - 체크 박스 단일 (0) | 2022.08.17 |
Comments