runoops.com

<fmt:bundle>和<fmt:message>标签

JSTL <fmt:bundle> 标签用来绑定数据源(.properties)文件,JSTL <fmt:message> 标签用来从指定的资源文件中调用信息。

语法

JSP <fmt:bundle> 标签的语法如下:

<fmt:bundle basename="resourceName" prefix="pre">
    代码块
</fmt:bundle>

其中:

  • basename:指定要绑定的数据源 .properties 文件的名称;
  • prefix:用来获取 .properties 文件的前缀。

JSP <fmt:message> 标签的语法如下:

<fmt:message key="messageName" [var="varname"] [bundle="resourceName"] [scope="page|request|session|application"] />

其中:

  • [ ][ ]中的内容为可选项;
  • key:指定需要从 .properties 文件中取出的键名称;
  • bundle:绑定的数据源 .properties 的文件名;
  • varname:用于保存取出的键值;
  • scope:设置标签的有效范围。

示例

编写 myresource.properties 文件,内容如下:

my.name=runoops自学
my.url=www.runoops.com

.properties 文件中的中文默认以 Unicode 编码显示。

使用 <fmt:bundle> 标签绑定数据源中的 myresource.properties 文件,设定前缀为my.,然后利用 <fmt:message> 标签取出值。index.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>
<html>
<head>
<title>runoops自学(www.runoops.com)</title>
</head>
<body>
    <fmt:bundle basename="myresource" prefix="my.">
        <fmt:message key="name" var="name" />
        <fmt:message key="url" var="url" />
    </fmt:bundle>
    网站名称:
    <c:out value="${name }" />
    <br />
    网址:
    <c:out value="${url }" />
</body>
</html>

页面输出内容如下:

网站名称: runoops自学
网址: www.runoops.com