JSP JSTL <fmt:bundle> 标签

返回上一级

JSP 标准标签库(JSTL) **<fmt:bundle> 标签将指定的资源束对出现在 <fmt:bundle> 标签中的 <fmt:message> 标签可用

这样我们就可以省去为每个 <fmt:message>标签指定资源束的很多步骤

比如说,下面的两个 <fmt:bundle> 块将产生同样的输出:

<fmt:bundle basename="cn.twle.demo">
    <fmt:message key="count.title"/>
</fmt:bundle>
<fmt:bundle basename="cn.twle.demo" prefix="count.">
    <fmt:message key="title"/>
</fmt:bundle>

语法

<fmt:bundle> 标签语法格式如下

<fmt:bundle baseName="<string>" prefix="<string>"/>

属性

<fmt:bundle> 标签有如下属性:

属性 描述 必须 默认值
basename 指定被载入的资源束的基础名称
prefix 指定 <fmt:message> 标签 key 属性的前缀

资源束

资源束包含区域特定对象

资源束包含键值对

当我们的程序需要区域特定资源时,可以将所有的关键词对所有的 locale 共享,但是也可以为 locale 指定转换后的值

资源束可以帮助提供指定给 locale 的内容

一个 Java 资源束文件包含一系列的键值对

范例

首先我们来建立一个资源束,在 src/main/resources 目录下建立一个 demo_zh_CN.properties 文件,内容如下

count.one=\u58f9
count.two=\u8d30
count.three=\u53c1

properties 文件里的内容要转成 Unicode

然后再创建一个 demo_en_US.properties 文件,内容如下

count.one=first
count.two=second
count.three=three

接下来我们开发 JSP 页面,内容如下

webapp/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" %>
<!DOCTYPE html>
<meta charset="utf-8">
<style>
    table { border-collapse: collapse; }
    table,th,td {border:1px solid #ddd;}
    th,td {padding:5px 10px;text-align: left}
</style>
<title>JSTL &lt;fmt:bundle&gt; 标签 - JSP 基础教程 | 简单教程(www.twle.cn)</title>
<fmt:bundle basename="demo" prefix="count.">
   <fmt:message key="one"/><br/>
   <fmt:message key="two"/><br/>
   <fmt:message key="three"/><br/>
</fmt:bundle>
<p>JSTL &lt;fmt:bundle&gt; 标签 - JSP 基础教程 | 简单教程(www.twle.cn)</p>

在浏览器上输入 http://localhost:8080/jsp/jstl_fmt_bundle.jsp 显示如下


将其改为无 prefix 属性:

webapp/jstl_fmt_bundle_no_prefix.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" %>
<!DOCTYPE html>
<meta charset="utf-8">
<style>
    table { border-collapse: collapse; }
    table,th,td {border:1px solid #ddd;}
    th,td {padding:5px 10px;text-align: left}
</style>
<title>JSTL &lt;fmt:bundle&gt; 标签 - JSP 基础教程 | 简单教程(www.twle.cn)</title>
<fmt:bundle basename="demo">
   <fmt:message key="count.one"/><br/>
   <fmt:message key="count.two"/><br/>
   <fmt:message key="count.three"/><br/>
</fmt:bundle>
<p>JSTL &lt;fmt:bundle&gt; 标签 - JSP 基础教程 | 简单教程(www.twle.cn)</p>

在浏览器上输入 http://localhost:8080/jsp/jstl_fmt_bundle_no_prefix.jsp 显示如下

可以查看 <fmt:setLocale><fmt:setBundle> 来获取更多信息

返回上一级

JSP 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.