728x90
반응형
<spring:message> 태그로 저장된 문자열 출력하기
'저장' 이나 '추가' 와 같은 문자열은 웹 페이지에서 반복해서 사용하게 되는 문자열 중 하나이다.
<button type="submit">저장</button>
<button type="button">닫기</button>
이러한 문자열을 JSP에 하드코딩하게 되면 다음과 같은 문제가 발생할 수 있다.
-
반복적인 문자열을 변경하여 통일 시키려고 할 때 ex) '저장' -> '저장하기'
-
다국어 지원 (한국을 제외한 나라에서 접속했을 때 '닫기' -> 'Close' 로 구현해야 할 때)
위 문제를 해결하기 위해 View 코드에서 사용되는 문자열을 언어별로 파일에 보관하여 언어에 따라 properties 파일에서 읽어와 출력하는 방법이 있다.
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
수행 순서
-
언어별로 문자열을 담은 메시지 properties 파일을 작성한다.
-
properties 파일에서 값을 읽어오는 MessageSource 빈을 설정한다.
-
JSP 코드에서 최상단에 위 taglib 코드를 추가한다.
-
JSP 코드에서 <spring:message code=""> 태그를 이용해서 문자열을 출력한다.
1
properties 파일은 Java의 .properties 확장자 형식으로 작성하며 파일 경로는 src/main/resources/message/.../label_KR.properties 로 설정한다.
# Label_KR.properties
button.search=검색
button.use=사용
button.notUsed=사용중지
button.inquire=조회
button.update=수정
2
MessageSource 타입의 Bean 추가
@Bean
public MessageSource messageSource() { // Bean 이름은 messageSource여아 한다.
ResourceBundleMessageSource ms = new ResourceBundleMessageSource();
ms.getBasenames("message.label"); // resources/ 다음의 패키지명 명시
ms.setDefaultEncoding("UTF-8");
return ms;
}
3
JSP 코드에서 최상단에 위 taglib 코드를 추가한다.
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
4
JSP 코드에서 <spring:message code=""> 태그를 이용해서 문자열을 출력한다.
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<head>
<title><spring:message code="member.register" /></title>
</head>
<body>
<button type="submit"><spring:message code="button.use"/></button> // '사용' 출력
</body>
728x90
반응형
'Programming > Spring' 카테고리의 다른 글
[Spring] Ajax 활용하여 로그인 처리 (JSON데이터, 로그인 Session 관리) (1) | 2021.03.18 |
---|---|
[Spring MVC] @ModelAttribute 어노테이션 개념 정리 (0) | 2020.12.24 |
[Log4j] Log4j를 활용하여 log 메시지 보기 (정의, 개념, 설정, 사용법 등) (0) | 2020.11.26 |
[Spring] Apache Commons File upload & download (이미지 업로드 및 다운로드 예제) (0) | 2020.11.10 |
[Spring Test] JUnit Test (JUnit을 활용한 Test 예제) (0) | 2020.11.09 |