Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
Tags
- Swing
- 오름차순정렬
- 계산기GUI
- 자바 #java #이클립스 #eclipse #switch #switch문 #사칙연산 #계산기 #calculator #간단한계산기
- 자바
- 이클립스
- 버블정렬
- 버블소트
- annotation
- 자바알고리즘
- 계산기
- 스프링
- 배열정렬
- 내림차순정렬
- 알고리즘
- 자바GUI
- 자바 계산기
- GUI
- 어노테이션
- 숫자정렬
- Eclipse
- MVC
- Java
- 이클립스 #이클립스단축키 #자바 #자바단축키
- Spring
Archives
- Today
- Total
온 코딩
[Spring](게시판 예제) 언어변환 본문
홈페이지에서 영어로 변환하는 그런 것
미리 properties파일에 다국어 출력 파일을 저장해 놓고 그것을 사용함
1. messageResource 파일 설정
messageResource_en.properties
#login.jsp
message.user.login.title=LOGIN
message.user.login.id=ID
message.user.login.password=PASSWORD
message.user.login.loginBtn=LOG-IN
message.user.login.language.en=English
message.user.login.language.ko=Korean
#getBoardList.jsp
message.board.list.mainTitle=BOARD LIST
message.board.list.welcomeMsg= !Welcome to my Board
message.board.list.search.condition.title=TITLE
message.board.list.search.condition.content = CONTENT
message.board.list.search.condition.btn=Search
message.board.list.table.head.seq=SEQ
message.board.list.table.head.title=TITLE
message.board.list.table.head.writer=WRITER
message.board.list.table.head.regDate=REGDATE
message.board.list.table.head.cnt=CNT
message.board.list.table.head.insertBoard=Insert Board
messageResource_ko.properties
#login.jsp
message.user.login.title=\ub85c\uadf8\uc778
message.user.login.id=\uc544\uc774\ub514
message.user.login.password=\ube44\ubc00\ubc88\ud638
message.user.login.loginBtn=\ub85c\uadf8\uc778
message.user.login.language.en=\uc601\uc5b4
message.user.login.language.ko=\ud55c\uae00
#getBoardList.jsp
message.board.list.mainTitle=\uac8c\uc2dc\uae00 \ubaa9\ub85d
message.board.list.welcomeMsg=\ub2d8! \uac8c\uc2dc\ud310\uc5d0 \uc624\uc2e0\uac78 \ud658\uc601\ud569\ub2c8\ub2e4.
message.board.list.search.condition.title=\uc81c\ubaa9
message.board.list.search.condition.content =\ub0b4\uc6a9
message.board.list.search.condition.btn=\uac80\uc0c9
message.board.list.table.head.seq=\ubc88\ud638
message.board.list.table.head.title=\uc81c\ubaa9
message.board.list.table.head.writer=\uc791\uc131\uc790
message.board.list.table.head.regDate=\ub4f1\ub85d\uc77c
message.board.list.table.head.cnt=\uc870\ud68c\uc218
message.board.list.table.head.insertBoard=\uc0c8\uae00 \ub4f1\ub85d
한글 아스키코드 변환 법 : C:\Program Files\Java\jdk1.8.0_251\bin/native2ascii.exe 에서 가능
혹은 messageSource_ko.txt 파일에 한글로 입력 후 propertie 파일로 복사할 경우 자동 변환
2. presentation-layer.xml
<!-- 다국어설정 -->
<!-- MessageSource 등록 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>message.messageSource</value>
</list>
</property>
</bean>
<!-- LocaleResolver등록 -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
<!-- LocaleChangeInterceptor 등록 -->
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang"></property>
</bean>
</mvc:interceptors>
1) Message Source 등록
- ResourceBundleMessageSource의 <bean>이름은 messageSource 로 고정
- <value>값을 message.messageSource 만 적는 이유 = > 확장자 생략은 규칙, _en등을 생략함으로서 어떤메세지 파일이 적용되는 지는 기본 언어 설정과 Locale의 변화에 따라 해당 언어의 메시지가 자동으로 선택됨
2) LocaleResolver 등록
- 고정 아이디 사용
- sessionLocaleResolver : 세션으로부터 Locale 정보를 추출하고 유지
LocaleResolver 종류 | 기능 설명 |
AcceptHeaderLocaleResolver | 브라우저에서 전송된 HTTP 요청 헤더에서 Accept-Language에 설정된 Locale로 메시지를 적용한다. |
CookieLocaleResolver | Cookie에 저장된 Locale 정보를 추출하여 메시지를 적용한다 |
SessionLocaleResolver | HttpSession에 저장된 Locale 정보를 추출하여 메시지를 적용한다 |
FixedLocaleResolver | 웹 요청과 무관하게 특정 Locale로 고정한다. |
3) LocaleChangeInterceptor - Locale 변경
<property name="paramName" value="lang"></property>
Setter 주입 : lang이라는 파라미터로 특정 로케일 전송 되면 해당 로케일로 변경하겠다는 설정
3. JSP 파일 작성
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인</title>
</head>
<body align="center">
<h1><spring:message code="message.user.login.title"></spring:message></h1>
<a href="login.do?lang=en"><spring:message code="message.user.login.language.en" /></a>
<a href="login.do?lang=ko"><spring:message code="message.user.login.language.ko" /></a>
<hr>
<div align="center">
<form action="login.do" method="post">
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="orange"><spring:message code="message.user.login.id" /></td>
<td><input type="text" name="id" value="${user.id }"></td>
</tr>
<tr>
<td bgcolor="orange"><spring:message code="message.user.login.password" /></td>
<td><input type="password" name="password" value="${user.password }"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="<spring:message code="message.user.login.loginBtn" />" />
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
taglib 사용
출력값은 미리 프로퍼티 파일에 저장해놓은 변수명을 통해
ign="center">
<spring:message code="message.user.login.title"> 이런 식으로 작성
Comments