java中fmt标签库_jsp fmt标签详解
JSTL标签提供了对国际化(I18N)的支持,它可以根据发出请求的客户端地域的不同来显示不同的语言。同时还提供了格式化数据和日期的方法。实现这些功能需要I18N格式标签库(I18N-capable formation tags liberary)。引入该标签库的方法为:
I18N格式标签库提供了11个标签,这些 标签从功能上可以划分为3类如下:
(1)数字日期格式化。formatNumber标签、formatData标签、parseNumber标签、parseDate标签、timeZone标签、setTimeZone标签。
(2)读取消息资源。bundle标签、message标签、setBundle标签。
(3)国际化。setlocale标签、requestEncoding标签。
接下将详细介绍这些标签的功能和使用方式。
9.3.1 数字日期格式化
数字日期格式化标签共有6个,用来将数字或日期转换成设定的格式。
1.标签
该标签依据特定的区域将数字改变为不同的格式来显示。
【语法1】:
[pattern=”pattern”]
[currencyCode=”code”]
[currencySymbol=”symbol”]
[groupingUsed=”true|false”]
[maxIntergerDigits=”maxDigits”]
[minIntergerDigits=”minDigits”]
[maxFractionDigits=”maxDigits”]
[minFractionDigits=”minDigits”]
[var=”name”]
[scope=page|request|session|application]
/>
【语法2】:
[pattern=”pattern”]
[currencyCode=”code”]
[currencySymbol=”symbol”]
[groupingUsed=”true|false”]
[maxIntergerDigits=”maxDigits”]
[minIntergerDigits=”minDigits”]
[maxFractionDigits=”maxDigits”]
[minFractionDigits=”minDigits”]
[var=”name”]
[scope=page|request|session|application]
>
标签参数说明:
名称
说明
EL
类型
必须
默认值
value
要格式化的数据
是
String
是
无
type
指定类型(单位、货币、百分比等)见表
是
String
否
number
pattern
格式化的数据样式
是
String
否
无
currencyCode
货币单位代码
是
String
否
无
cuttencySymbol
货币符号($、¥)
是
String
否
无
groupingUsed
是否对整数部分进行分组如(9,999)
是
boolean
是
true
maxIntergerDigits
整数部分最对显示多少位数
是
int
否
无
minIntergerDigits
整数部分最少显示多少位
是
int
否
无
maxFractionDigits
小数部分最多显示多少位
是
int
否
无
minFractionDigits
小数部分最少显示多少位
是
int
否
无
var
存储格式化后的数据
否
String
否
无
scope
var的JSP范围
否
String
否
page
Type属性的类型应用:.
类型
说明
示例
number
数字格式
0.8
currency
当地货币
¥0.80
percent
百分比格式
80%
【示例代码】:实现了对数字的格式化、货币的格式、货币的格式化。使用的各种属性的设定。
类型 | 使用数据 | 结果 | 说明 |
数字格式化 | 108.75 | 108.75 | 使用pattern可以定义显示的样式。本例设定为###.#小数部分将使用四舍五入法。 |
数字格式化 | 9557 | 9557 | 使用科学计数法。 |
数字格式化 | 9557 | 9557 | 使用默认分组。 |
数字格式化 | 9557 | 9557 | 不使用分组。 |
数字格式化 | 9557 | 9557 | 使用位数限定,根据指定的位数显示,其他数字忽略。例如:9不被显示。 |
百分比格式化 | 0.98 | 0.98 | 用百分比形式显示一个数据。 |
货币格式化 | 188.88 | 188.8 | 将一个数据转化为货币形式输出。 |
存储数据 | 188.88 | 188.8 | 存储的money的值为${money} |
【代码说明】:
(1)从应用角度可以把属性分为三类:数字格式化、货币格式化、百分比格式化。使用type指定类型。
(2)应用于数字格式化的属性有:partten属性、maxIntegerDigits属性、minIntegerDigits属性、maxFractionDigits属性和minFactionDigits属性。其中partten属性在设定格式化样式时会比较准确如:四舍五入、科学计数法的使用。而使用maIntegerDirgits等属性时,只把设定位数以外的数字舍去。
(3)货币格式化可以使用数字格式化的所有属性。如果有必要建议使用partten属性。currencyCode属性和currencySymbol只用于货币格式化。
(4)百分比格式化使用到的属性为type属性、partten属性,设定type属性的类型为percent即可。
(5)使用var属性时,会将格式化后的值存在JSP的某个范围内(一个String类型的字符串包括符号等)。将不再输出格式化后的值可以使用EL表达式输出。
(6)通用属性:type属性、partten属性、var属性和scope属性。
2.标签
将格式化后的数字、货币、百分比都转化为数字类型。
【语法1】:
[pattern=”pattern”]
[parseLocale=”locale”]
[intergerOnly=”true|false”]
[scope=”page|request|session|application”]
/>
【语法2】:
[pattern=”pattern”]
[parseLocale=”locale”]
[intergerOnly=”true|false”]
[scope=”page|request|session|application”]
>
Number
标签参数说明:
名称
说明
EL
类型
是否必须
默认值
value
被解析的字符串
是
String
是
无
type
指定单位(数字、货币、百分比)
是
String
是
number
pattern
格式样式
是
String
否
无
parseLocale
用来替代默认区域的设定
是
String,
Java.util.
Locale
是
默认本地样式
var
存储已经格式化的数据
否
String
否
无
scope
var变量的作用域
否
String
是
page
可以看作是的逆运算。相应的参数和类型的配置和使用格式化时相同。
【示例代码】:实现了从字符串中提取数据,并用合适的数据类型进行存储(浮点性、整型等)。可以对转换后的数据进行加法运算。
188.8
格式化前的数据为:
${money}
格式化后的数据为:可以对格式化的后的数据进行运算:对百分比进行格式化98%为:
98%
【代码解析】:
(1)首先使用将188.8转换为字符串¥188.8并在page范围内存储一个String类型的变量,变量名为money。
(2)使用将¥188.8转化为浮点型的数据188.8并赋值为变量money,
则变量money转变为一个浮点型的值188.8,对188.8进行加运算。
(3)直接对一个百分比数98%进行转化。
3.标签
该标签主要用来格式化日期和时间。
【语法】:
[pattern=”pattern”]
[dateStyle=”default|short|medium|long|full”]
[timeStyle=”default|short|medium|long|full”]
[timeZone=”timeZone”]
[var=”name”]
[scope=”page|request|session|application”]
/>
标签属性说明:
属性名
说明
EL
类型
必须
默认值
value
将要格式化的日期对象。
是
Java.util.Date
是
无
type
显示的部分(日期、时间或者两者)。
是
String
否
date
partten
格式化的样式。
是
String
否
无
dateStyle
设定日期的显示方式。
是
String
否
default
timeStyle
设定时间的显示方式。
是
String
否
default
timeZone
设定使用的时区。
是
String
否
当地所用时区
var
存储已格式化的日期或时间。
否
String
否
无
scope
指定var存储的JSP范围。
否
String
否
无
type属性参数说明:
参数名
说明
time
只显示时间
date
只显示时期
both
显示日期和时间
【示例程序】:实现了对日期的格式化,使用了type、dateStyle、timeStyle等属性。
timeStyle="default">
timeStyle="short">
timeStyle="long">
timeStyle="full">
timeStyle="full">
【代码解析】:
(1)首先通过配置JavaBean在页面上实例化java.util.Date对象。实现代码如下:
(2)对日期对象进行格式化时${date}是一个日期对象,如果给value设的值为String时程序会报错。
(3)设置type为both时,将显示日期和时间,同时示例中依次改变dateStyle和timeStyle的值作为比较。
4.标签
标签主要将字符串类型的时间或日期转化为时间或日期对象。
【语法1】:
[pattern=”pattern”]
[parseLocale=”locale”]
[dateStyle=”default|short|medium|long|full”]
[timeStyle=”default|short|medium|long|full”]
[timeZone=”timezone”]
[var=”name”]
[scope=”page|request|session|application”]
/>
【语法2】:
[pattern=”pattern”]
[parseLocale=”locale”]
[dateStyle=”default|short|medium|long|full”]
[timeStyle=”default|short|medium|long|full”]
[timeZone=”timezone”]
[var=”name”]
[scope=”page|request|session|application”]
>
Date
标签属性说明:
属性名
说明
EL
类型
必须
默认值
value
将要格式化的日期时间
是
String
是
无
type
字符串的类型(日期、时间或全部)
EL
String
是
date
pattern
字符串使用的时间样式
是
String
是
无
parseLocale
取代默认地区设定
是
String
是
默认地区
dateStyle
字符串使用的日期显示方式
是
String
否
default
timeStyle
字符串使用的时间显示格式
是
String
否
default
timeZone
使用的时区
是
String
否
当地区时
var
使用var定义的名字保存对象
否
String
否
无
scope
var的JSP范围
否
String
否
page
【示例代码】:实现了以下功能:首先,使用了把一个日期对象格式化成一个日期的字符串,并把该字符串以参数名为a存储page范围内。其次,使用方法把a的值(字符串)格式化成一个Date并以参数名为b存储在page范围内。最后,使用Java脚本证明生成的b为对象。
dateStyle="full" timeStyle="full">
${a}
out.println(pageContext.getAttribute("b").toString());
out.println("
");
out.println(pageContext.getAttribute("b").hashCode());
%>
java中fmt标签库_jsp fmt标签详解相关推荐
- java中sleep()、wait()相同与不同详解
java中sleep().wait()相同与不同详解 相同 java中Thread#sleep和Object#wait方法都是暂停当前线程,当前线程让出CPU占用.并不存在调用sleep后还占用CPU ...
- Java中的宏变量,宏替换详解。
转载自 Java中的宏变量,宏替换详解. 群友在微信群讨论的一个话题,有点意思,特拿出来分享一下. 输出true false 来看下面这段程序,和群友分享的大致一样. public static vo ...
- java 抽象 属性_在java中如何定义一个抽象属性示例详解
前言 本文主要给大家介绍的是在java中定义一个抽象属性的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: Abstract关键字通常被用于类和方法,用来把某些行为的实现委托给 ...
- JAVA中的String[] args和String args[]详解。
JAVA中的String[] args和String args[]是什么意思? 1.是什么意思? 2.怎样给args赋值? 3.补充事项 1.是什么意思? Java中的String[] args 和S ...
- Java 中的自动装箱和拆箱详解
自动装箱是 Java 编译器在基本类型和它们对应的包装类之间进行的自动转换.例如,将 int 类型转换为 Integer 类型,将 double 类型转换为 Double 型等等.如果转换以相反的方式 ...
- java中object类型_Java常用类object详解
1.Object概述: 类Object是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括数组)都实现这个类的方法. 2.构造方法详细信息: Object只有一个无参构造方法,因为ob ...
- java中字符类型_Java字符类型(详解)
[1]Java中使用单引号来表示字符常量,字符型在内存中占2个字节. char 类型用来表示在Unicode编码表中的字符.Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有655 ...
- java中的静态变量的作用域_详解JAVA中static的作用
1.深度总结 引用一位网友的话,说的非常好,如果别人问你static的作用:如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的:如果是说 可以构成 静态代码块,那别人认为你还可以: 如果你说 ...
- JAVA中Explain注解用法,mysql之explain详解(分析索引最佳使用)
mysql之explain详解(分析索引最佳使用) mysql explain用于分析sql 语句的执行及数据库索引的使用.本文将致力于帮助大家充分理解explain所返回的各项参数,从而使大家快速掌 ...
最新文章
- reindex-maven 私服(nexus)架设以及项目管理中遇到的问题及解决方案(updating)
- icinga2+postgresql
- restful-api最佳实践
- Android 必须知识 PWA Android Instant Apps
- 【数据平台】pandas将一列中的文本拆分成多行
- 模拟浏览器自动化测试工具Selenium之五Centos系统命令行下部署selenium环境试验
- svd 分解详细证明
- php流量中转,中转Webshell绕过流量检测防护
- C#中Trim()、TrimStart()、TrimEnd()的错误认识
- 剑指offer 重建二叉树
- CISCO 3560配置作为DHCP服务器
- 类加载器子系统的作用
- Oracle连接字符串记录
- mysql查看用户名_Mysql创建数据表的方法介绍(附示例)
- SpringBoot 第一篇入门
- 文档内容结构化技术探索
- PKM全民推广系列二:PKM活动(过程)
- 计算机中没有我的电脑桌面,桌面上我的电脑图标没了怎么办
- 飞鸽传书——空号检测
- android备份apk,无需手机助手,ABI帮你安装/备份安卓APK
热门文章
- postgreSQL源码分析——索引的建立与使用——B-Tree索引(2)
- 一致性hash算法虚拟节点_一致性 Hash 算法
- 计算机编程输入3个数排序,汇编语言 输入10个数排序并输出的实现
- 设计行业专业素材导航网站|行业流行
- UI历练素材|成功,少不了的临摹进阶
- k8s删除deployment_VPGAME k8s迁移实践(5) Deployment 与 Service 配置
- ++i和i++哪个效率更高
- 英特尔处理器的性能监控事件文件下载
- SYSTEM INSTRUCTIONS | 系统指令
- Linux如何处理 Too many open files