2014-07-23 3 views
1

기반 프로젝트에서 러시아어 및 포르투갈어와 같은 언어에 대한 JSP 페이지 세트를 현지화해야합니다.다국어 지원을 위해 JSP를 구현하는 방법 (포르투갈어, 러시아어와 같이)

내가 시도한 것은 ELJSTL입니다. 그러나 둘 다 위의 언어를 지원하지 않습니다.

<%@ page pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" language="java"%> 
<%@ taglib uri="/tags/spring" prefix="spring" %> 
<%@ taglib uri="/tags/c" prefix="c" %> 

<h1><c:out value="${reportName}"/></h1> 
<h2>"${reportName}"</h2> 

업데이트 (EL과 JSTL 모두)

JSP 스 니펫 (혼동 문자 - 심볼을 표시) 예로서 REPORTNAME 변수는 동적 백 엔드의 논리에 따라 변화된다. 속성 파일에서 레이블과 같은 값을 얻으면 제대로 작동합니다. 백엔드에서 JSP로 전달되는 동적 변수에만 문제가 있습니다.

+0

http://www.mkyong.com/spring-mvc/spring-mvc-internationalization-example/ – Jaiwo99

답변

3

<fmt:message> 태그를 사용하여 현지화를 사용할 수 있습니다.

<fmt:message> 태그는 키 - 값 쌍 매핑 된 지역화 된 메시지에서 키를 매핑하는 데 사용되며 키를 해당 값으로 바꾸어 값을 반환합니다.

태그 라이브러리 수입 :

그와 관련된 문서는 http://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fmt/message.html 아래 예이다

<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> 

그런 다음 코드에서 사용할 수 있습니다 : 여기

<fmt:setBundle basename="portugeseLang" var="lang"/> 
<fmt:setLocale value="hi_port"/> 

<fmt:message key="Name" bundle="${lang}"/> 

에서 로캘을 지정하는 setLocale 필드

portugeseLang.properties 파일에 포르투갈어 언어 카운터 파트를 지정할 수 있습니다. J2EE tutorial on internationalization

+0

Thanks Aura. 특정 속성 파일에서 값을 가져 오는 것과 관련이 없습니다. firstName은 백엔드에서 전달되는 변수입니다. (속성 파일이 아님). 예를 들어 "reportName"이 될 수 있으며이 변수는 백엔드의 논리에 따라 동적으로 변경됩니다. 속성 파일에서 레이블과 같은 값을 얻으면 제대로 작동합니다. 백엔드에서 JSP로 전달되는 동적 변수에만 문제가 있습니다. 나는 문제를 업데이트 할 것이다. –

+1

@MalindaMax 자바 스크립트 AJAX를 사용하면 현재 사용자 위치 나 IP 또는 시간대를 다시 알릴 수 있습니다.이 중 ...이 자바 스크립트는 페이지가로드 될 때 먼저 실행되어야합니다. 그러면 자바 프로그래밍 로직은 다음을 기반으로 로케일을 변경해야합니다. 값을 Ajax 호출에서 전달한 다음 세션이나 요청 매개 변수에 필요한 로케일 이름을 저장 한 다음 웹 페이지로 보냅니다. – AurA

관련 문제