JSTL - Core <fmt:setLocale> 标签



<fmt:setLocale> 标签用于将给定的区域设置存储在区域设置配置变量中。

属性

<fmt:setLocale> 标签具有以下属性:

属性 描述 必填 默认值
指定一个两部分代码,表示 ISO-639 语言代码和 ISO-3166 国家代码。 en_US
variant 浏览器特定的变体
scope 区域设置配置变量的作用域 页面

示例

资源包包含特定于区域设置的对象。资源包包含键值对。当您的程序需要特定于区域设置的资源时,您将所有键都保留为所有区域设置的通用键,但您可以拥有特定于区域设置的翻译值。资源包有助于提供特定于区域设置的内容。

Java 资源包文件包含一系列键到字符串的映射。我们关注的方法涉及创建扩展java.util.ListResourceBundle类的已编译 Java 类。您必须编译这些类文件并使其可用于 Web 应用程序的类路径。

让我们定义一个默认的资源包,如下所示:

package com.tutorialspoint;

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"},
   };
}

现在让我们再定义一个资源包,我们将用于西班牙语区域设置:

package com.tutorialspoint;

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"},
   };
}

让我们编译上述类Example.classExample_es_ES.class,并将它们放在 Web 应用程序的 CLASSPATH 中。现在,您可以使用以下 JSTL 标签来显示这三个数字,如下所示:

<%@ 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 Tag</title>
   </head>

   <body>
      <fmt:bundle basename = "com.tutorialspoint.Example">
         <fmt:message key = "count.one"/><br/>
         <fmt:message key = "count.two"/><br/>
         <fmt:message key = "count.three"/><br/>
      </fmt:bundle>

      <!-- Change the Locale -->
      <fmt:setLocale value = "es_ES"/>
      <fmt:bundle basename = "com.tutorialspoint.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>标签以了解完整概念。

jsp_standard_tag_library.htm
广告