当前位置:首页 > JSP教程 > JSP高级教程

jstl<fmt:bundle>标签

<fmt:bundle>标签将使指定的包可用于在<fmt:bundle></fmt:bundle>标签之间发生的所有<fmt:message>标签。 因此,不需要为每个<fmt:message>标签指定资源绑定。

例如,以下两个<fmt:bundle>块将产生相同的输出 -

<fmt:bundle basename = "com.51frw.example">
   <fmt:message key = "count.one"/>
</fmt:bundle>

<fmt:bundle basename = "com.51frw.example" prefix = "count.">
   <fmt:message key = "title"/>
</fmt:bundle>

属性

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

属性 描述 必需 默认
basename 指定要加载的资源绑定的基本名称。
prefix <fmt:message>子标签中为每个键名称添加的值

示例

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

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

下面来看如何定义一个默认资源绑定如下 -

文件:Example_Cn.java -

package com.51frw;

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

编译上面的Example_Cn类,并使其在Web应用程序的CLASSPATH中可用。现在可以使用以下JSTL标签来显示三个数字,如下所示:

文件:fmt_bundle.jsp -

<%@ 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:bundle标签</title>
   </head>

   <body>
      <fmt:bundle basename = "com.51frw.Example_Cn" prefix = "count.">
         <fmt:message key = "one"/><br/>
         <fmt:message key = "two"/><br/>
         <fmt:message key = "three"/><br/>
      </fmt:bundle>
   </body>
</html>

这将产生以下结果 -

一个
两个
三个

尝试上面不使用前缀的示例,如下 -

文件:fmt_bundle2.jsp -

<%@ 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:bundle标签</title>
   </head>

   <body>
      <fmt:bundle basename = "com.51frw.Example_Cn" prefix = "count.">
         <fmt:message key = "one"/><br/>
         <fmt:message key = "two"/><br/>
         <fmt:message key = "three"/><br/>
      </fmt:bundle>
   </body>
</html>

这将产生以下结果 -

一个
两个
三个

可通过查看<fmt:setLocale和<setBundle标签以了解完整的概念。



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐