MessageResource 사용하기
웹 애플리케이션을 다중 언어가 지원 되도록 만들려고 일일이 매 페이지를 다르게 만든다고 하는 일은 대단히 수고스러운 일 입니다.
자바에서는 java.util.ResourceBundle 클래스를 통해 국제화를 지원하고 있으며 스트럿츠에서는 국제화를 지원하기 위해 org.apache.struts.util.MessageResource를 제공 합니다.
이러한 리소스 번들은 국제화 뿐 아니라 지역화된 프로그램에서도 유지 보수 시간을 줄여 주는 이점이 있습니다. 예를 들어 웹사이트 전체에 사용되는 텍스트나 라벨인 경우 변경이 필요 한 경우 단지 리소스 번들 프로퍼티 파일만 수정 함으로서 간단히 해결 할 수 있습니다.
스트럿츠 1.1 이상에서는 여러 개의 리소스 번들 파일을 지원 합니다.
아래에는 메시지들을 등록 해 놓은 리소스 번들 properties 파일 입니다. (application.properties)
login.title = LogIn login.login = Login login.reset = Cancel
prompt.id= User ID : prompt.password=Password :
main.title=Main
############################################### error.id.required=<li>ID REQUIRED.</li> error.pwd.required=<li>PASSWORD REQUIRED</li> error.login.invalid=<li>ID/PASSWORD NOT CORRECT</li>
errors.header=<h3><font color="red">ERROR!</font></h3> You must correct the following error(s) before proceeding:<UL> errors.footer=</ul><hr>
아래는 이러한 메시지를 KEY값을 이용하여 VIEW에서 불러 오는 예젭니다.
(login.jsp)
<%@ page pageEncoding="euc-kr" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <html> <head> <title><bean:message key="login.title" /></title> <html:base/> </head>
<body> <!-- 웹서버가 보내는 응답에 오류가 있다면 출력 --> <html:errors/>
<!-- LoginSummit에 대해서는 struts-config.xml에 Mapping을 하게 된다 --> <!-- focus="id" 라는 문법에 의해 자동으로 자바스크립트를 생성 합니다. --> <html:form action="/LoginSubmit" focus="id"> <table> <!-- 아래에서 텍스트 출력은 application.properties에서 가져 옵니다... --> <tr> <th align="right"><bean:message key="prompt.id"/></th> <!-- 아래는 input type=text 와 동일한 기능을 합니다 --> <td><html:text property="id" value=""/></td> </tr> <tr> <th align="right"><bean:message key="prompt.password"/></th> <!-- 만약 로그인을 실패하여 다시 돌아오는 경우 pwd 항목의 값을 비울때는 아래처럼 redisplay="false" 라고 하면 됩니다. HTML의 password 항목과 유사함 --> <td><html:password property="pwd" redisplay="false"/></td> </tr> <tr> <!-- Submit 버튼과 Reset 버튼을 생성 --> <!-- 버튼의 라벨은 application.properties에서 내용을 가져 옵니다 --> <th></th> <td> <html:submit> <bean:message key="login.login" /> </html:submit> <html:reset> <bean:message key="login.reset" /> </html:reset> </td> </tr> </table> </html:form> </body> </html>
다음은 리소스 파일을 사용하기 위해 struts-config.xml에 설정 한 예 입니다.
<!-- 아래는 스트러츠 Application에서 사용할 Message Resource들을 설정 --> <!-- 확장자가 properties인 application.properties를 만들어 넣으면 된다 --> <message-resources parameter="resources.application"/>
|
댓글 없음:
댓글 쓰기