jstl fmt:message标签使用实例



jstl fmt:message标签使用实例。<fmt:message> 标签:用于显示资源配置文件信息(该资源文件必须遵循如下格式:1.扩展名必须为properties,2.文件的内容必须依照key = value的格式;3.文件要放到WEB-INF/classes目录下)
属性描述 
key:资源配置文件的“键”指定 
bundle:若使用 <fmt:setBundle> 保存了资源配置文件,该属性就可以从保存的资源配置文件中进行查找 
var:将显示信息保存为一个变量 
scope:变量的作用范围 
如:
1)用<fmt:setBundle>标签将”applicationMessage”资源配置文件被赋于了变量”applicationBundle”
   用<fmt:message>标签显示由<fmt:setBundle>标签保存的资源配置文件中”键”为”passWord”的信息
   
       <fmt:setBundle basename=”applicationMessage” var=”applicationBundle”/> 
       <fmt:message key=”passWord” bundle=”${applicationBundle}” />

2)用<fmt:bundle>标签定义的”applicationAllMessage”资源配置文件作用于其标签体内的显示
   用<fmt:message>标签显示”applicationAllMessage”资源配置文件中”键”为”userName”的信息

       <fmt:bundle basename=”applicationAllMessage”> 
           <fmt:message key=”userName” />
       </fmt:bundle>

5.<fmt:param 标签:用于参数传递
<fmt:param>标签应该位于 <fmt:message> 标签内,将为该消息标签提供参数值。它只有一个属性value 
如:在MyResourse.properties文件中,有一个索引值如下(其中,{0}代表占位符):
Str2=Hi,{0} 
则,使用<fmt:param>标签传入值如下:
   <fmt:bundle basename=”MyResourse”> 
       <fmt:message key=”Str2″>
           <fmt:param value=”张三” />
       </fmt:message>
   </fmt:bundle>
也可以在资源文件中指定参数的类型:
如:在MyResourse.properties文件中,有一个索引值如下:
Str3={0,date}
则,使用<fmt:param>标签传入值如下:
   <% request.setAttribute(“now”,new Date()); %>
   <fmt:bundle basename=”MyResourse”> 
       <fmt:message key=”Str3″>
           <fmt:param value=”${now}” />
       </fmt:message>
   </fmt:bundle>

fmt_international.jsp文件:

<%@ page language=”java” import=”java.util.*” 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 PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html>
<head>
<title>My JSP ‘fmt_international.jsp’ starting page</title>
</head>
<body>
<fmt:bundle basename=”messages”>

<fmt:message key=”prompt.hello”>
<fmt:param value=”Helloween”></fmt:param>
</fmt:message> <br/>


<fmt:message key=”prompt.greeting”></fmt:message>

</fmt:bundle>
</body>
</html>

messages.properties文件:

prompt.hello = Hello, {0}.
prompt.greeting = Welcome to use the internationalization of the tag library FMT label.

messages_zh_CN.properties文件:

prompt.hello = \u4f60\u597d, {0}.
prompt.greeting = \u6b22\u8fce\u4f7f\u7528fmt\u6807\u7b7e\u5e93\u7684\u56fd\u9645\u5316\u6807\u7b7e.