jstl <fmt:setLocale>标签

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

属性

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

属性 描述 必需 默认
value 指定表示ISO-639语言代码和ISO-3166国家代码的两部分代码。 en_US
variant 浏览器特定的变体
scope 区域配置变量的范围

示例

资源绑定包包含区域特定的对象,资源绑定包含键/值对。当程序需要特定于区域设置的资源时,可以将所有键保留在所有区域设置中,也可以使用特定于区域设置的翻译值。 资源绑定包有助于提供特定于区域设置的内容。

Java资源包文件包含一系列键到字符串的映射。这里使用的方法是创建扩展java.util.ListResourceBundle类的Java类。必须编译这些类文件并使其可用于Web应用程序的类路径(使用Eclipse不需要此操作)。

下面定义一个资源绑定包如下 -

文件:Example_Cn.java -

package com.zaixian;

import java.util.ListResourceBundle;

public class Example_Cn extends ListResourceBundle {
    public Object[][] getContents() {
        return contents;
    }

    static final Object[][] contents = { { "count.one", "一个" }, { "count.two", "两个" }, { "count.three", "三个" }, };
}

下面是显示JSP页面的代码 -

文件:fmt_setLocale.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>

<body>
    <div style="margin: auto; width: 80%">
        <fmt:setLocale value="zh_cn" />
        <fmt:formatNumber value="101000.3" type="currency" />
        <br />
        <fmt:setLocale value="en_Us" />
        <fmt:formatNumber value="101000.3" type="currency" />
        <br />

        <fmt:setLocale value="zh_cn" />
        <fmt:formatDate value="<%=new Date()%>" />
        <br />
        <fmt:setLocale value="zh_tw" />
        <fmt:formatDate value="<%=new Date()%>" />
        <fmt:setLocale value="zh_cn" />
        <fmt:formatDate value="<%=new Date()%>" />
        <br />
        <fmt:setLocale value="de_de" />
        <fmt:formatDate value="<%=new Date()%>" />
        <br />

        <!-- Change the Locale -->
        <fmt:setLocale value="zh_cn" />
        <fmt:bundle basename="com.zaixian.Example_Cn">

            <fmt:message key="count.one" />
            <br />
            <fmt:message key="count.two" />
            <br />
            <fmt:message key="count.three" />
            <br />
        </fmt:bundle>

    </div>
</body>
</html>

编译上述的Example_Cn,现在可以使用以下JSTL标签来显示以下三个数字,代码运行结果如下 -

可通过查看<fmt:bundle<setBundle标签来了解完整的概念。


上一篇: Jstl教程 下一篇: JSP+MySQL实例