format标签库:做国际化格式化,分两类 :

  1. 国际化核心标签:<fmt:setLocale>、<fmt:bundle>、<fmt:setBundle>、<fmt:message>、<fmt:param>、<fmt:requestEncoding>
  2. 格式化标签:<fmt:timeZone>、<fmt:setTimeZone>、<fmt:formatNumber>、<fmt:parseNumber>、<fmt:formatDate>、<fmt:parseDate>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

1.<fmt:setLocale>标签:用于设置本地化环境
  属性描述 
  value:Locale 环境的指定,可以是 java.util.Locale 或 String 类型的实例 
  scope:Locale 环境变量的作用范围(可选)

  variant:客户浏览器或者操作者,例如:WIN为 windows ,MAC 为 macintosh

    设置本地环境为繁体中文    <fmt:setLocale value="zh_TW"/>
设置本地环境为简体中文 <fmt:setLocale value="zh_CN"/>

2.<fmt:requestEncoding>标签:用于为请求设置字符编码
  它只有一个属性 value ,在该属性中可以定义字符编码。

 <fmt:requestEncoding value="GB2312"/>

3.<fmt:bundle> 、 <fmt:setBundle> 标签:用于资源配置文件的数据来源
3.1<fmt:bundle> 标签将资源配置文件绑定于它标签体中的显示

  属性描述
  basename:资源配置文件的指定,只需要指定文件名而无须扩展名
  prefix:前置关键字

资源文件中配置的数据为:
label.backcolor=#FFF
label.fontcolor=#000
则,可以用如下方法取得label的backcolor和fontcolor值:
<fmt:bundle basename="MyResourse" prefix="label.">
<fmt:message key="backcolor" />
<fmt:message key="fontcolor" />
</fmt:bundle>

3.2<fmt:setBundle> 标签则允许将资源配置文件保存为一个变量,在之后的工作可以根据该变量来进行
  属性描述 ,二组标签共有的属性 
  var:<fmt:setBundle> 独有的属性,用于保存资源配置文件为一个变量 
  scope:变量的作用范围

查找一个名为 applicationMessage_zh_CN.properties 的资源配置文件,来作为显示的 Resource 绑定
<fmt:setBundle basename="applicationMessage" var="applicationBundle"/>

4.<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>

6.<fmt:timeZone>、<fmt:setTimeZone>标签:用于设定时区
  <fmt:timeZone> 标签将使得在其标签体内的工作可以使用该时区设置
  <fmt:setTimeZone> 标签则允许将时区设置保存为一个变量,在之后的工作可以根据该变量来进行
  属性描述 
  value:时区的设置 GMT-8 Asia/Shanghai
  var:<fmt:setTimeZone> 独有的属性,用于保存时区为一个变量 
  scope:变量的作用范围

7.<fmt:formatNumber>标签:用于格式化数字
  属性描述 
  value:格式化的数字,该数值可以是 String 类型或 java.lang.Number 类型的实例 
  type:格式化的类型,可能值包括:currency(货币)、number(数字)和percent(百分比)
  pattern:格式化模式 
  var:结果保存变量 
  scope:变量的作用范围 
  maxIntegerDigits:指定格式化结果的最大值 
  minIntegerDigits:指定格式化结果的最小值 
  maxFractionDigits:指定格式化结果的最大值,带小数 
  minFractionDigits:指定格式化结果的最小值,带小数

结果将被保存在“ money ”变量中,将根据 Locale 环境显示当地的货币格式
<fmt:formatNumber value="1000.888" type="currency" var="money"/> 保留两位小数 <fmt:formatNumber value="123.123456789" pattern="0.00"/> 格式数字(45,678.234) <fmt:formatNumber type="number" value="45678.2345" /> 格式百分比(23%)
<fmt:formatNumber type="percent" value="0.2345" />

8.<fmt:parseNumber> 标签:用于解析数字,相当于java.text.NumberFormat的parse方法
  属性描述 
  value:将被解析的字符串 
  type:解析格式化的类型 
  pattern:解析格式化模式 
  var:结果保存变量,类型为 java.lang.Number 
  scope:变量的作用范围 
  parseLocale:以本地化的形式来解析字符串,该属性的内容应为 String 或 java.util.Locale 类型的实例

 将"15%"转换为数字
<fmt:parseNumber value="15%" type="percent" var="num"/>
<fmt:parseNumber value="1,000" > //结果是1000   <fmt:parseNumber value="1,000" parseLocale="de"/> //德国的环境解析输出为:1

9.<fmt:formatDate>标签:用于格式化日期,相当于DateFormat.format()方法
  属性描述
  value:格式化的日期,该属性的内容应该是 java.util.Date 类型的实例
  type:格式化的类型
  pattern:格式化模式
  var:结果保存变量
  scope:变量的作用范围
  timeZone:指定格式化日期的时区

日期格式(2008年5月5日22点00分23秒)

<fmt:formatDate value="<%=new Date() %>" pattern="yyyy年MM月dd日HH点mm分ss秒" />

10.<fmt:parseDate>标签:用于解析日期
属性描述 
value:将被解析的字符串 
type:解析格式化的类型 
pattern:解析格式化模式 
var:结果保存变量,类型为 java.lang.Date 
scope:变量的作用范围 
parseLocale:以本地化的形式来解析字符串,该属性的内容为 String 或 java.util.Locale 类型的实例 
timeZone:指定解析格式化日期的时区

<fmt:formatDate value="${date}" type="both" timeStyle="long" dateStyle="long" />
type="both" 输入日期也同时输出具体时间
timeStyle="long" 时间以“长”格式输出 差别:下午02时06分59秒 与 14:06:59
dateStyle="long" 日期以“长”格式输出 差别:2006年9月7日 与 2006-9-7

(2)JSTL的fmt国际化标签库的更多相关文章

  1. 小峰servlet/jsp(7)jstl国际化标签库、sql标签库等

    一.jstl国际化标签库: fmt:setLocale 设定用户所在的区域: fmt:formatDate   对日期进行格式化 fmt:requestEncoding 设置所有的请求编码; fmt: ...

  2. 11.javaweb国际化标签库

    一.国际化标签库 1,格式化标签库提供的标签 2,标签详解 2.1<fmt:setLocale>标签 下面设置不同的区域,并在设置的区域下显示日期 2.2<fmt:requestEn ...

  3. JSP标准标签库(JSTL)--国际化标签库 fmt

    JSTL中使用fmt.tld作为格式化标签库的定义文件 No. 功能分类 标签名称 描述 1 国际化标签 <fmt:setLocale> 设置一个全局的地区代码 2 <fmt:req ...

  4. JSTL解析——005——core标签库04

    直接入主题,标签讲解 1.<c:import>标签 JSP里面有<% file include="XX"%> 与<jsp:include>,JS ...

  5. JSTL(JSP标准标签库)

    JSP标准标签库(JavaServer Pages Tag Library, JSTL)是一个定制JSP标签库的集合,封装了JSP应用的通用核心功能.用来解决像遍历Map或集合.条件测试.XML处理, ...

  6. JSP开发中对jstl的引用方式(标签库引用)

    创建标签库引用文件taglibs.inc 一 采用本地标签库的taglibs.inc文件 <%--struts库标签 --%> <%@ taglib uri="/WEB-I ...

  7. JSP开发中对jstl的引用方式(标签库引用)

    创建标签库引用文件taglibs.inc 一 采用本地标签库的taglibs.inc文件 <%--struts库标签 --%> <%@ taglib uri="/WEB-I ...

  8. JSTL解析——002——core标签库01

    javaEE5之前的版本需要引用JSTL相关的jar包.tld文件等,JAEE5之后就不用这么麻烦了, 如果你的还是不能使用就去官网下载(jstl.jar和standard.jar)这两个jar包,将 ...

  9. [应用篇]第六篇 JSTL之自定义函数标签库

      在之前的JSTL的总结中已经对函数标签库进行了一些说明,在这里我再一次重新整理一下! 自带函数标签库介绍 引入该标签库的方法为: <%@ taglib prefix="fn&quo ...

随机推荐

  1. Codeforces Round #269 (Div. 2) A,B,C,D

    CodeForces - 471A 首先要有四个数相等,然后剩下两个数不同就是Bear,否则就是Elephant. #include <bits/stdc++.h> using names ...

  2. HDOJ2579,BFS(三维数组标记)

    三维数组对于我这个萌萌的新手来说真是酷酷的,帅到不行,,, 三维数组前面还看到空间的哪一题HDOJ1240,这一题时间上的标记,更酷了!!! 不说废话了,贴一发代码: #include <std ...

  3. Codevs 1425 最长公共子串

    1425 最长公共子串  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 青铜 Bronze 题解       题目描述 Description 输入N(2<=N<= ...

  4. Mol Cell Proteomics. |廖文丽| 阿尔兹海默症临床前期的脑脊液中突触蛋白的变化先于神经变性标志物

    大家好,本周分享的是发表在Molecular & Cellular Proteomics. 上的一篇关于阿尔兹海默病临床前期生物标志物鉴定的文章,题目是Changes in synaptic ...

  5. js对象属性—枚举、检查、删除

    前言 我们经常需要操作对象的属性.这里记录ES5中操作对象属性的API和它们之间的差异. 枚举属性 for/in遍历对象中的所有可枚举属性(包括自有属性和继承属性) var obj = {name:& ...

  6. 自然语言处理(二)——PTB数据集的预处理

    参考书 <TensorFlow:实战Google深度学习框架>(第2版) 首先按照词频顺序为每个词汇分配一个编号,然后将词汇表保存到一个独立的vocab文件中. #!/usr/bin/en ...

  7. 最新的vue没有dev-server.js文件,如何进行后台数据模拟?

    最新的vue里dev-server.js被替换成了webpack-dev-conf.js 在模拟后台数据的时候直接在webpack-dev-conf.js文件中修改 第一步,在const portfi ...

  8. mysql整理(个人)

    注意:以下命令都是在Linux系统下执行的: 1.验证mysql是否安装成功: mysqladmin --version 2.连接mysql服务器: mysql -u root -p 之后输入密码 3 ...

  9. 2017"百度之星"程序设计大赛 - 资格赛 寻找母串

    Problem Description 对于一个串S,当它同时满足如下条件时,它就是一个01偏串: 1.只由0和1两种符组成: 2.在S的每一个前缀中,0的个数不超过1的个数: 3.S中0的个数和1的 ...

  10. axios 访问和返回拦截,token处理,返回异常统一处理

    在axios文件夹中,index.js添加拦截 访问拦截: import store from '../store' axios.interceptors.request.use( config =& ...