본문 바로가기
728x90
반응형

분류 전체보기582

[Spring] 스프링 메시지 소스 설정 스프링은 기본적인 메시지 관리 기능을 제공한다. 메시지 관리 기능을 사용하려면 스프링이 제공하는 MessageSource 를 스프링 빈으로 등록하면 되는데, MessageSource 는 인터페이스이다. 따라서 구현체인 ResourceBundleMessageSource 를 스프링 빈으로 등록하면 된다. 직접 등록 - ItemServiceApplication @Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = newResourceBundleMessageSource(); messageSource.setBasenames("messages", "errors"); messageSource.setDefaultE.. 2023. 6. 27.
[Spring] 스프링 메시지, 국제화 개념 메시지 만약 시스템을 재기획 할 때, 하나의 문구를 바꿔야 하는 상황이라면?? 상품명이라는 단어를 모두 상품이름으로 고쳐달라고 하면 어떻게 해야할까? 여러 화면에 보이는 상품명, 가격, 수량 등, label 에 있는 단어를 변경하려면 다음 화면들을 다 찾아가면서 모두 변경해야 한다. 지금처럼 화면 수가 적으면 문제가 되지 않지만 화면이 수십개 이상이라면 수십개의 파일을 모두 고쳐야 한다 - addForm.html , editForm.html , item.html , items.html 왜냐하면 해당 HTML 파일에 메시지가 하드코딩 되어 있기 때문이다. 이런 다양한 메시지를 한 곳에서 관리하도록 하는 기능을 메시지 기능이라 한다. 예를 들어서 messages.properties 라는 메시지 관리용 파일을.. 2023. 6. 27.
[Spring] 스프링 메시지, 국제화를 위한 프로젝트 설정 https://drcode-devblog.tistory.com/524 [Spring] 스프링 타임리프 통합을 위한 프로젝트 설정 https://drcode-devblog.tistory.com/504 drcode-devblog.tistory.com 위 포스팅과 비슷하게 패키지와 url 이름만 바꿔서 사용할 것이다. item-service\src\main\resources\templates\basic → message\src\main\resources\templates\form 프로젝트명 변경 item-service → message templates 하위 폴더 basic → message 컨트롤러 상위 패키지 명 변경 basic → message message\src\main\java\hello\items.. 2023. 6. 27.
[Spring] 스프링 타임리프 통합 - 셀렉트 박스 셀렉트 박스는 여러 선택지 중에 하나를 선택할 때 사용할 수 있다. 이번 포스팅에는 셀렉트 박스를 자바 객체를 활용해서 개발해보자 배송 방식 - 빠른 배송 - 일반 배송 - 느린 배송 셀렉트 박스로 하나만 선택할 수 있다. FormItemController - 추가 @ModelAttribute("deliveryCodes") public List deliveryCodes() { List deliveryCodes = new ArrayList(); deliveryCodes.add(new DeliveryCode("FAST", "빠른 배송")); deliveryCodes.add(new DeliveryCode("NORMAL", "일반 배송")); deliveryCodes.add(new DeliveryCode("SL.. 2023. 6. 27.
[Spring] 스프링 타임리프 통합 - 라디오 버튼 라디오 버튼은 여러 선택지 중에 하나를 선택할 때 사용할 수 있다. 이번 포스팅에는 라디오 버튼을 자바 ENUM을 활용해서 개발해보자. - 상품 종류 : 도서, 식품, 기타 : 라디오 버튼으로 하나만 선택할 수 있다. FormItemController - 추가 @ModelAttribute("itemTypes") public ItemType[] itemTypes() { return ItemType.values(); } itemTypes 를 등록 폼, 조회, 수정 폼에서 모두 사용하므로 @ModelAttribute 의 특별한 사용법을 적용하자. ItemType.values() 를 사용하면 해당 ENUM의 모든 정보를 배열로 반환한다. 예) [BOOK, FOOD, ETC] 상품 등록 폼에 기능을 추가해보자. .. 2023. 6. 26.
[Spring] 스프링 타임리프 통합 - 멀티 체크박스 구현 체크 박스를 멀티로 사용해서, 하나 이상을 체크할 수 있도록 해보자. 등록 지역 - 서울, 부산, 제주 - 체크 박스로 다중 선택할 수 있다. FormItemController - 추가 // 이 컨트롤러를 호출 시 자동으로 모델어트리뷰트에 항상 담기게 된다. @ModelAttribute("regions") public Map regions() { Map regions = new LinkedHashMap(); regions.put("SEOUL", "서울"); regions.put("BUSAN", "부산"); regions.put("JEJU", "제주"); return regions; } @ModelAttribute의 특별한 사용법 등록 폼, 상세화면, 수정 폼에서 모두 서울, 부산, 제주라는 체크 박스를 .. 2023. 6. 26.
728x90
반응형