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标签详解相关推荐

  1. java中sleep()、wait()相同与不同详解

    java中sleep().wait()相同与不同详解 相同 java中Thread#sleep和Object#wait方法都是暂停当前线程,当前线程让出CPU占用.并不存在调用sleep后还占用CPU ...

  2. Java中的宏变量,宏替换详解。

    转载自 Java中的宏变量,宏替换详解. 群友在微信群讨论的一个话题,有点意思,特拿出来分享一下. 输出true false 来看下面这段程序,和群友分享的大致一样. public static vo ...

  3. java 抽象 属性_在java中如何定义一个抽象属性示例详解

    前言 本文主要给大家介绍的是在java中定义一个抽象属性的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: Abstract关键字通常被用于类和方法,用来把某些行为的实现委托给 ...

  4. JAVA中的String[] args和String args[]详解。

    JAVA中的String[] args和String args[]是什么意思? 1.是什么意思? 2.怎样给args赋值? 3.补充事项 1.是什么意思? Java中的String[] args 和S ...

  5. Java 中的自动装箱和拆箱详解

    自动装箱是 Java 编译器在基本类型和它们对应的包装类之间进行的自动转换.例如,将 int 类型转换为 Integer 类型,将 double 类型转换为 Double 型等等.如果转换以相反的方式 ...

  6. java中object类型_Java常用类object详解

    1.Object概述: 类Object是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括数组)都实现这个类的方法. 2.构造方法详细信息: Object只有一个无参构造方法,因为ob ...

  7. java中字符类型_Java字符类型(详解)

    [1]Java中使用单引号来表示字符常量,字符型在内存中占2个字节. char 类型用来表示在Unicode编码表中的字符.Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有655 ...

  8. java中的静态变量的作用域_详解JAVA中static的作用

    1.深度总结 引用一位网友的话,说的非常好,如果别人问你static的作用:如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的:如果是说 可以构成 静态代码块,那别人认为你还可以: 如果你说 ...

  9. JAVA中Explain注解用法,mysql之explain详解(分析索引最佳使用)

    mysql之explain详解(分析索引最佳使用) mysql explain用于分析sql 语句的执行及数据库索引的使用.本文将致力于帮助大家充分理解explain所返回的各项参数,从而使大家快速掌 ...

最新文章

  1. reindex-maven 私服(nexus)架设以及项目管理中遇到的问题及解决方案(updating)
  2. icinga2+postgresql
  3. restful-api最佳实践
  4. Android 必须知识 PWA Android Instant Apps
  5. 【数据平台】pandas将一列中的文本拆分成多行
  6. 模拟浏览器自动化测试工具Selenium之五Centos系统命令行下部署selenium环境试验
  7. svd 分解详细证明
  8. php流量中转,中转Webshell绕过流量检测防护
  9. C#中Trim()、TrimStart()、TrimEnd()的错误认识
  10. 剑指offer 重建二叉树
  11. CISCO 3560配置作为DHCP服务器
  12. 类加载器子系统的作用
  13. Oracle连接字符串记录
  14. mysql查看用户名_Mysql创建数据表的方法介绍(附示例)
  15. SpringBoot 第一篇入门
  16. 文档内容结构化技术探索
  17. PKM全民推广系列二:PKM活动(过程)
  18. 计算机中没有我的电脑桌面,桌面上我的电脑图标没了怎么办
  19. 飞鸽传书——空号检测
  20. android备份apk,无需手机助手,ABI帮你安装/备份安卓APK

热门文章

  1. postgreSQL源码分析——索引的建立与使用——B-Tree索引(2)
  2. 一致性hash算法虚拟节点_一致性 Hash 算法
  3. 计算机编程输入3个数排序,汇编语言 输入10个数排序并输出的实现
  4. 设计行业专业素材导航网站|行业流行
  5. UI历练素材|成功,少不了的临摹进阶
  6. k8s删除deployment_VPGAME k8s迁移实践(5) Deployment 与 Service 配置
  7. ++i和i++哪个效率更高
  8. 英特尔处理器的性能监控事件文件下载
  9. SYSTEM INSTRUCTIONS | 系统指令
  10. Linux如何处理 Too many open files