`

JSTL I18N 格式标签库 使用之二_____读取消息资源

 
阅读更多

读取消息资源主要有4个标签,在这里进行一下小总结:

<fmt:buddle> <fmt:setBuddle> <fmt:message> <fmt:param> 四个标签之间的嵌套关系大概是这个样子:

复制代码
1 <fmt:buddle basename="name">
2     <fmt:message key="key">
3         <fmt:param value="value">
4         </fmt:param>
5     </fmt:message>
6 </fmt:buddle>
7 
8 <fmt:setBuddle basename="name"/>
9 <fmt:message key="key">
复制代码

第1~6行是一种方式 第8~9行是一种方式。

下面进行详细说明。ps:读取的资源文件就是 *.properties 文件。

1. <fmt:bundle>标签

该标签主要用于将资源文件绑定于它的标签体中的显示。就如上面的第一种方式。

【语法】:

<fmt:bundle basename=”name”[prefix=”prefix”]>

  …标签主题

</fmt:bundle>

2. <fmt:setBundle>标签

该标签主要用于绑定资源文件或者把资源文件保存在指定的JSP范围内。

【语法】:

<fmt:setBundle basename=”name” [var=”name”]

[scope=”page|request|session|application”]

/>

3. <fmt:message>标签

该标签主要负责读取本地资源文件,从指定的消息文本资源文件中读取键值,并且可以将键值保存在指定的JSP范围内。

【语法1】:

<fmt:message key=”keyName”[bundle=”bundle”]

[scope=”page|request|session|application”]

/>

【语法2】:

<fmt:message key=”keyName”[bundle=”bundle”]

[scope=”page|request|session|application”]>

  <fmt:param/>

</fmt:message>

提示:建议此处的bundle使用EL表达式,因为属性bundle的类型为LocalizationContext,而不是一个String类型的URL

4.<fmt:param>标签

该标签主要用于当<fmt:message>中资源文件中获得键值时,动态的为资源文件中的变量赋值。

【语法1】:

<fmt:param value=”value”/>

【语法2】:

<fmt:param >

标签主体

</fmt:param>

下面看一段代码,理解一下:

首先创建一个 mysrc.properties 文件,并存入内容 name="lihui" age="22"。在这里有一个路径问题需要注意,比如将这个文件放在 src/com 文件夹下,那么,引用该文件时,如下下面代码中所示,否则读取到的数据不是正确的,而是 ???name??? 类似的字符串。

View Code
复制代码
 1 <%@ page language="java" pageEncoding="GBK"%>
 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 3 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
 4 <jsp:useBean id="date" class="java.util.Date"></jsp:useBean>
 5 <html>
 6     <head>
 7         <title>I18N标签库</title>
 8     </head>
 9     <body>
10         <H4>
11             <c:out value="资源文件读取示例"></c:out>
12         </H4>
13         <hr>
14         <fmt:bundle basename="com/mysrc">
15             <c:out value="从message资源文件中得到的key为name的值为:"></c:out>
16             <fmt:message key="name"></fmt:message>
17         </fmt:bundle>
18         <hr>
19         <fmt:setBundle basename="com/mysrc" var="m" />
20         <fmt:message key="age" bundle="${m}"></fmt:message>
21         ${m}
22     </body>
23 </html>
复制代码

显示如下:

开始的时候我是将资源文件直接放在根目录下,结果总是读取不到数据,后来查看了很多人的博客,发现该资源文件必须经过编译后在 WEB-INF/classes 文件夹下才能使用,所以,要把这个文件放在src的某个包中,这样编译之后就会在 classes 文件夹出现了。

在看一个例子:

此例中,资源文件mysrc.properties 的内容: test=hello,{0},welcome to my blog. Today is {1}.

View Code
复制代码
 1 <%@ page language="java" pageEncoding="gbk"%>
 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 3 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
 4 <jsp:useBean id="date" class="java.util.Date"></jsp:useBean>
 5 <html>
 6     <head>
 7         <title>I18N标签库</title>
 8     </head>
 9     <body>
10         <H4>
11             <c:out value="<fmt:param>标签的使用"></c:out>
12         </H4>
13         <hr>
14         <fmt:bundle basename="com/mysrc">
15             <fmt:message key="test">             
16                 <fmt:param value="lixiaohui" />
17                 <fmt:param value="${date}" />
18             </fmt:message>
19         </fmt:bundle>
20     </body>
21 </html>
复制代码

显示结果:

如果把资源文件中 test 的值设置为: test=hello,{0},welcome to my blog. Today is {1,date}.

则指定了第二个动态变量是一个日期类型的对象,这是显示结果为:

分享到:
评论

相关推荐

    JSTL标签库

    JSTL标签库的使用是为类弥补html表的不足,规范自定义标签的使用而诞生的。在告别modle1模式开发应用程序后,人们开始注重软件的分层设计,不希望在jsp... I18N格式化标签库  SQL标签库  XML标签库  函数标签库

    JSTL(jsp标准标签库)

    JSTL jsp标准标签库 word文档

    JSTL标签库参考文档_CHM格式

    本人根据SUN官方JSTL参考文档制作的CHM格式。本文档仅包括JSTL的5个标签库的参考内容。

    JSTL_I18N实例

    jstl国际化标签实例,含有对应的property文件,以及在不同的包下和不同scope的访问实例

    JSTL核心库主要标签的使用方法源代码

    JSTL核心库主要标签的使用方法源代码 JSTL核心库主要标签的使用方法源代码 JSTL核心库主要标签的使用方法源代码

    JSTL标准标签库1

    JSTL 标准标签库,分为五大类核心标签库I18N格式标签库(国际化要用)SQL标签库 XML标签库 几乎不用函数标签库JSTL前置名称URI范例核心标签库ch

    JSTL1.1.2标签库

    JSTL1.1.2标签库 JSTL1.1.2标签库 JSTL1.1.2标签库

    CHM格式的JSTL标准标签库API

    CHM格式的JSTL标准标签库APICHM格式的JSTL标准标签库APICHM格式的JSTL标准标签库API

    JSTL标准标签库

    JSTL标准标签库 JSTL主要标签库 核心标签库中的主要标签

    JSP标准标签库(jstl)

    JSTL 1.0 发布于 2002 年 6 月,由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。core 标记库提供了定制操作,通过限制了作用域的变量管理数据...

    JSTL标签库_资料下载.zip

    JSTL标签库,JSTL标签库,JSTL标签库,JSTL标签库,JSTL标签库

    JSTL标签库下载和配置使用

    JSTL标签库的jar包、JSTL标签库的配置和使用

    JSTL--Core标签详解

    在 JSTL1.1 中有以下这些标签库是被支持的: Core 标签库、 XML processing 标签库、 I18N formatting 标签库、 Database access 标签库、 Functions 标签库。

    JSTL标签大全

    国际化标签(I18N) http://java.sun.com/jstl/fmt fmt &lt;fmt:tagname…&gt; SQL标签库 http://java.sun.com/jstl/sql sql &lt;sql:tagname…&gt; XML标签库 ...

    JSTL标签库及使用方法

    本压缩文件包含了实用的JSTL标签库jstl.jar和standard.jar及使用方法,有效解决了JSTL配置问题!

    jstl标准标签库jar包.zip

    jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2。 jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2。 jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2...

    jstl标签库jar包

    jstl标签库jar包,jstl标签库jar包,使用java开发web程序的朋友请下

    JSTL(JSP标准标签库)介绍.doc

    JSTL(JSP标准标签库)介绍.doc

    标准标签库(JSTL)的常见使用(

    标准标签库(JSTL)的常见使用(标准标签库(JSTL)的常见使用(标准标签库(JSTL)的常见使用(标准标签库(JSTL)的常见使用

Global site tag (gtag.js) - Google Analytics