목록BE/Thymeleaf (25)
오봉이와 함께하는 개발 블로그
웹 애플리케이션에 국제화 적용하기 국제화를 적용하기 위해 영어 메시지를 추가하자. message_en.properties label.item=Item label.item.id=Item ID label.item.itemName=Item Name label.item.price=price label.item.quantity=quantity page.items=Item List page.item=Item Detail page.addItem=Item Add page.updateItem=Item Update button.save=Save button.cancel=Cancel앞에서 템플릿 파일에는 모두 #{...}를 통해서 메시지를 사용하도록 적용해두었기 때문에 국제화 작업은 거의 끝났다. 웹으로 확인 웹 브라우저의..
웹 애플리케이션에 메시지 적용하기 실제 웹 애플리케이션에 메시지를 적용하기 위해 메시지를 추가 등록하자. messages.properties label.item=상품 label.item.id=상품 ID label.item.itemName=상품명 label.item.price=가격 label.item.quantity=수량 page.items=상품 목록 page.item=상품 상세 page.addItem=상품 등록 page.updateItem=상품 수정 button.save=저장 button.cancel=취소타임리프 메시지 적용 타임리프의 메시지 표현식 #{...}를 사용하면 스프링의 메시지를 편리하게 조회할 수 있다. 예를 들어서 상품이라는 이름을 조회하려면 #{label.item}이라고 하면 된다. 렌더..
셀렉트 박스 셀렉트 박스는 여러 선택지 중에 하나를 선택할 때 사용할 수 있다. 배송 방식 빠른 배송 일반 배송 느린 배송 셀렉트 박스로 하나만 선택할 수 있다. FormItemController - 추가 @ModelAttribute("deliveryCodes") public List deliveryCodes() { List deliveryCodes = new ArrayList(); deliveryCodes.add(new DeliveryCode("FAST", "빠른 배송")); deliveryCodes.add(new DeliveryCode("NORMAL", "일반 배송")); deliveryCodes.add(new DeliveryCode("SLOW", "느린 배송")); return deliveryCod..
라디오 버튼 라디오 버튼은 여러 선택지 중에 하나를 선택할 때 사용할 수 있다. 상품 종류 도서, 식품, 기타 라디오 버튼으로 하나만 선택할 수 있다. 코드 FormItemController - 추가 @ModelAttribute("itemTypes") public ItemType[] itemTypes() { return ItemType.values(); } itemTypes를 등록 폼, 조회, 수정 폼에서 모두 사용하므로 @ModelAttribute를 사용하자. ItemType.values()를 사용하면 해당 ENUM의 모든 정보를 배열로 반환한다. -> 예 : [BOOK, FOOD, ETC] addForm.html - 추가 상품 종류 BOOK th:each="type : ${itemTypes}" : @..
체크 박스 - 멀티 체크 박스를 멀티로 사용해서, 하나 이상을 체크할 수 있도록 해보자. 등록 지역 서울, 부산, 제주 체크 박스로 다중 선택할 수 있다. FormItemController - 추가 @ModelAttribute의 특별한 사용법 등록 폼, 상세화면, 수정 폼 모두에서 model에 값을 담아주는 똑같은 코드가 필요하다. 이렇게 하면 필요한 컨트롤러(URL 매핑된 메서드)마다 코드를 반복해서 작성해야 하는 번거로움이 발생하는데 스프링에서 제공하는 기능을 사용해서 해결할 수 있다. @ModelAttribute("regions") public Map regions() { Map regions = new LinkedHashMap(); // 서울, 부산, 제주 순서를 맞추기 위해 LinkedHashM..