English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
<fmt:setLocale> 태그는 지정된 지역을 locale 설정 변수에 저장하는 데 사용됩니다.
<fmt:setLocale value="<string>" variant="<string>" scope="<string>"/>
<fmt:setLocale> 태그는 다음 속성을 가집니다:
속성 | 설명 | 필수 여부 | 기본 값 |
---|---|---|---|
값 | ISO 지정-639 언어 코드와 ISO-3166 국가 코드 | 네 | en_US |
변형 | 특정 브라우저 변형 | 아니요 | 없음 |
범위 | Locale 설정 변수의 범위 | 아니요 | 페이지 |
자원 집합은 지역 관련 객체를 포함합니다. 자원 집합은 키-값 쌍을 포함합니다. 프로그램이 지역 관련 자원을 필요로 할 때, 모든 키-값 쌍을 모든 locale와 공유할 수 있지만, locale에 대해 변환된 값을 지정할 수도 있습니다. 자원 집합은 지정된 locale에 대한 내용을 제공하는 데 도움이 됩니다.
Java 자원 집합 파일은 일련의 키-값 쌍을 포함합니다. 우리가 관심을 가지는 메서드는 java.util.ListResourceBundle 클래스를 상속한 컴파일된 Java 클래스를 생성하는 것에 관련됩니다. 이 클래스를 컴파일한 후 웹 애플리케이션의 CLASSPATH에 배치해야 합니다.
기본 자원 집합을 정의해 보겠습니다:
package com.w;3codebox; import java.util.ListResourceBundle; public class Example_En extends ListResourceBundle { public Object[][] getContents() { return contents; } static final Object[][] contents = { {"count.one", "One"}, {"count.two", "Two"}, {"count.three", "Three"}, }; }
이제 스페인어 Locale를 위한 하나의 자원 집합을 정의합니다:
package com.w;3codebox; import java.util.ListResourceBundle; public class Example_es_ES extends ListResourceBundle { public Object[][] getContents() { return contents; } static final Object[][] contents = { {"count.one", "Uno"}, {"count.two", "Dos"}, {"count.three", "Tres"}, }; }
이 파일들을 Examble.class와 Examble_es_ES.class로 컴파일한 후, 그들을 웹 애플리케이션의 CLASSPATH에 배치합니다. 이제 이 세 숫자를 다음과 같이 JSTL 태그로 표시할 수 있습니다:
<%@ page language="java" contentType="text"/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <html> <head> <title>JSTL fmt:setLocale 태그</<title> </<head> <body> <fmt:bundle basename="com.w3codebox.Example"> <fmt:message key="count.one">/><br/> <fmt:message key="count.two">/><br/> <fmt:message key="count.three">/><br/> </fmt:bundle> <!-- 지역 변경--> <fmt:setLocale value="es_ES">/> <fmt:bundle basename="com.w3codebox.Example"> <fmt:message key="count.one">/><br/> <fmt:message key="count.two">/><br/> <fmt:message key="count.three">/><br/> </fmt:bundle> </body> </html>
실행 결과는 다음과 같습니다:
One Two Three Uno Dos Tres
보기<fmt:bundle>와<setBundle>더 많은 정보를 얻으려면.