| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- c:forEach
- C#크롤링
- vscode
- AndroidStudio
- mybatis
- 공개키암호시스템
- JavaScript
- MySQL
- 서드파티모듈
- c:choose
- SQL
- 대칭키암호화
- NPM
- 국제화
- Spring
- 전자서명
- node.js
- 대칭키알고리즘
- react
- fullcalendar
- Java
- jsx
- 해시함수
- JSTL
- 암호학
- 동적쿼리
- RequestMethod.POST
- 무결성
- 대칭키암호시스템
- jQuery
- Today
- Total
Today Yewon Learned
[Egov] 전자정부 표준 프레임워크 Internationalization(국제화) 본문
전자정부 표준 프레임워크에서는 Spring MVC 에서 제공하는 LocaleResolver를 이용한다.
우리는 여기서 LocaleResolver를 알아보고 적용하는 설정과 다국어가 적용된 message resource 를 가져와 활용하는 것을 보도록 하겠다.
Spring MVC 는 다국어를 지원하기 위하여 아래와 같은 종류의 LocaleResolver 를 제공하고 있다.
-
CookieLocaleResolver : 쿠키를 이용한 locale정보 사용
-
SessionLocaleResolver : 세션을 이용한 locale정보 사용
-
AcceptHeaderLocaleResolver : 클라이언트의 브라우져에 설정된 locale정보 사용
- dispatcher-servlet.xml
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="webBindingInitializer">
<bean class="egovframework.example.cmmn.web.EgovBindingInitializer"/>
</property>
</bean>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor" />
</list>
</property>
</bean>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
<!-- 쿠키를 이용한 Locale 이용시 <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/> -->
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="language" />
</bean>
스프링 3.0 이상 버전을 사용중이므로, 위와같은 설정이 필요하다.
- egovframework에서 제공해주는 MassageSource를 이용하기 위해, 아래 폴더 구조를 보면 message properties파일이 ko버전과 en버전이 나눠져있다.

- en버전과 ko버전의 MessageKey를 동일하게 지정해주고 각 나라별로 Parameter를 기입한다.

-language 변환이 필요한 jsp페이지 상단에 아래 태그를 추가해야한다.
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>

HTML/JSP 에서 사용 예
<spring:message code="messageKey" />
<div class="d-sm-flex mb-4">
<div class="col-md-4"><h1 class="h3 mb-0 text-gray-800"><spring:message code="menu_title_user" /></h1></div>
<div class="col-md-8 text-right">
<button type="button" class="btn btn-success" onclick="btn_add();"><spring:message code="button.reset" /></button>
<button type="button" class="btn btn-primary" onclick="btn_save();"><spring:message code="button.create" /></button>
<button type="button" class="btn btn-danger" onclick="btn_remove();"><spring:message code="button.delete" /></button>
</div>
</div>
JAVASCRIPT 에서 사용 예
<script>
alert('<spring:message code="admin.hello" /> ');
</script>
결과)
http://localhost:8080/Project/user.do?language=ko

http://localhost:8080/Project/user.do?language=en

추후에는 버튼을 이용하여 language를 변경해볼 예정이다.
[참고]
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:internationalization
egovframework:rte2:ptl:internationalization [eGovFrame]
전자정부 표준 프레임워크에서는 Spring MVC 에서 제공하는 LocaleResolver를 이용한다. 우리는 여기서 LocaleResolver를 알아보고 적용하는 설정과 다국어가 적용된 message resource 를 가져와 활용하는 것을
www.egovframe.go.kr
Spring에서 다국어 적용하기
스프링 다국어처리를 이용하려면 controller를 통해서 해당 페이지로 이동하게 해야 한다.servlet-context.xml에서 다국어 처리부분을 기술ResourceBundleMessageSource 부분이 바로 위에서 저장된 messages 파일
velog.io
'Spring > Egov' 카테고리의 다른 글
| [Egov] There is no statement named [DB 매핑] in this SqlMap 오류 (0) | 2023.02.27 |
|---|---|
| [Egov] 멤버변수 Getter and Setter 메소드 자동 생성하기 (0) | 2023.02.27 |
| [Egov] Maven 빌드 오류 Perhaps you are running on a JRE rather than a JDK (0) | 2023.02.20 |
| [Egov] Spring MVC 구조로 파일 삭제하기 (0) | 2022.02.21 |
| [Egov] 전체 검색, 조건 검색 Query 적용하기 (0) | 2021.12.27 |