JSTL标签库中fmt标签,日期,数字的格式化

首先介绍日期的格式化:(不要嫌多哦)

JSTL格式化日期(本地化)

类似于数字和货币格式化,本地化环境还会影响生成日期和时间的方式。

<%@ page pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<html>
<head>
<title>Date Formatting</title>
</head>
<body>
<h1>Date Formatting and locale</h1>
<fmt:timeZone value="EST">
<jsp:useBean id="currentTime" class="java.util.Date"/>

<h3>English, Great Britain</h3>
<fmt:setLocale value="en_GB" />
<fmt:formatDate type="both" dateStyle="full" timeStyle="full" value="${currentTime}" /><br/>

<h3>English, USA</h3>
<fmt:setLocale value="en_US" />
<fmt:formatDate type="both" dateStyle="full" timeStyle="full" value="${currentTime}" /><br/>

<h3>French, France</h3>
<fmt:setLocale value="fr_FR" />
<fmt:formatDate type="both" dateStyle="full" timeStyle="full" value="${currentTime}" /><br/>

<h3>Japanese, Japan</h3>
<fmt:setLocale value="ja_JP" />
<fmt:formatDate type="both" dateStyle="full" timeStyle="full" value="${currentTime}" /><br/>

<h3>Korean, Korea</h3>
<fmt:setLocale value="ko_KR" />
<fmt:formatDate type="both" dateStyle="full" timeStyle="full" value="${currentTime}" /><br/>

<h3>Spanish, Spain</h3>
<fmt:setLocale value="es_ES" />
<fmt:formatDate type="both" dateStyle="full" timeStyle="full" value="${currentTime}" /><br/>


<h3>Arabic, Egypt</h3>
<fmt:setLocale value="ar_EG" />
<fmt:formatDate type="both" dateStyle="full" timeStyle="full" value="${currentTime}" /><br/>

</fmt:timeZone>
</body>
</html>

<fmt:formatDate>动作的属性

type: 可以是timedateboth。控制是否只生成时间,只生成日期,或者时间日期都生成。

dateStyle: 可以是short, medium, long 或 full(default)。控制打印日期使用的具体格式。

timeStyle: 可以是short, medium, long 或 full(default)。控制打印时间使用的具体格式。

value: 这是一个java.util.Date 类型的值,用于生成日期和时间。

jstl格式化日期标签

JSP Standard Tag Libraries 
Formatting and Internationalization 
Two form input parameters, 'date' and 'isoDate', are URL-encoded in the link leading to this page. 'isoDate' is formatted according to the ISO8601 standard. 
Formatting of numbers and dates is based on the browser's locale setting. Formatting will change if you switch the default language setting from English to French or German, for example. (The browser needs to be restarted, too.) 

Library import and parameter capturing: 

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %> 

<fmt:parseDate value="${param.date}" var="date" pattern="yyyy/MM/dd:HH:mm:ss> 
<fmt:parseDate value="${param.isoDate}" var="isoDate" pattern="yyyyMMdd'T'HHmmss"> 

The input parameters must match the patterns, or the JSP will thrown an exception. This page does no error handling. 

Input parameters: 
Date:     2004/04/01:13:30:00    Java format: Thu Apr 01 13:30:00 CST 2004 
isoDate: 20040531T235959        Java format: Mon May 31 23:59:59 CDT 2004 

Dates 
Tag Output 
Attribute: value; required. Tag has no body. (type默认是date)
<fmt:formatDate value="${date}" type="both"/> 

2004-4-1 13:30:00   
<fmt:formatDate value="${isoDate}" type="both"/> 

2004-5-31 23:59:59   
Attribute: type; optional. Indicates what to print: date, time, or both. 
<fmt:formatDate value="${date}" type="date"/> 

2004-4-1   
<fmt:formatDate value="${isoDate}" type="time"/> 

23:59:59   
Attribute: dateStyle; optional. Varies the date format. (默认是medium
<fmt:formatDate value="${isoDate}" type="date" dateStyle="default"/> 

2004-5-31   
<fmt:formatDate value="${isoDate}" type="date" dateStyle="short"/> 

04-5-31   
<fmt:formatDate value="${isoDate}" type="date" dateStyle="medium"/> 

2004-5-31   
<fmt:formatDate value="${isoDate}" type="date" dateStyle="long"/> 

2004531   
<fmt:formatDate value="${isoDate}" type="date" dateStyle="full"/> 

2004531日 星期一   
Attribute: timeStyle; optional. Varies the time format. (默认是medium
<fmt:formatDate value="${isoDate}" type="time" timeStyle="default"/> 

23:59:59   
<fmt:formatDate value="${isoDate}" type="time" timeStyle="short"/> 

下午11:59   
<fmt:formatDate value="${isoDate}" type="time" timeStyle="medium"/> 

23:59:59   
<fmt:formatDate value="${isoDate}" type="time" timeStyle="long"/> 

下午115959   
<fmt:formatDate value="${isoDate}" type="time" timeStyle="full"/> 

下午115959秒 CDT   
Attribute: pattern; optional. Inidcates date/time custom patterns. 
<fmt:formatDate value="${date}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss Z"/> 

星期四四月 1, 2004 13:30:00 -0600   
<fmt:formatDate value="${isoDate}" type="both" pattern="d MMM yy, h:m:s a zzzz/> 

JSTL中数字的格式化

 显示:$12.00
<fmt:formatNumber value="12" type="currency" pattern="$.00"/>  <br/>
显示:$12.0
<fmt:formatNumber value="12" type="currency" pattern="$.#"/> <br/> 
¥12.0 
<fmt:formatNumber value="12" type="currency" pattern="¥.00"/> <br/>
12.00元
<fmt:formatNumber value="12" type="currency" pattern="#0.00元"/> <br/>
¥12.00 
<fmt:formatNumber value="12" type="currency"/>  (那个货币的符号和当前web服务器的 local 设定有关)<br/>

123456.79
<fmt:formatNumber value="123456.7891" pattern="#0.00"/>  <br/>
123,456.79
<fmt:formatNumber value="123456.7891" pattern="#,#00.00"/> <br/>
 .79 
<fmt:formatNumber value="0.7891" pattern="#.00"/>  <br/>
12.34%
<fmt:formatNumber value="0.1234" type="percent" pattern="#0.00%"/><br/>
1,200%
<fmt:formatNumber value="12" type="percent"  /><br/>
1200.00%
<fmt:formatNumber value="12" type="percent" pattern="#0.00%"/><br/>
------------------------------------------------------------------------------
java格式化输出:
DecimalFormat df = new DecimalFormat("格式");
String fmt =df.format(double);
符号                  意义
0                     一个数位
#                     一个数位,前导零和追尾零不显示
.                      小数点分割位置
,                     组分隔符的位置
-                      负数前缀
%                    用100乘,并显示百分号
其他任何符号    在输出字符串中包括指定符号

其他fmt标签的使用说明:

formatting标签库:就是用于在 JSP 页面中做国际化格式化的动作
分为了两类,分别是:                                                                                                  
国际化核心标签:<fmt:setLocale>、<fmt:bundle>、<fmt:setBundle>、<fmt:message>、<fmt:param>、<fmt:requestEncoding>
格式化标签:<fmt:timeZone>、<fmt:setTimeZone>、<fmt:formatNumber>、<fmt:parseNumber>、<fmt:formatDate>、<fmt:parseDate>

1.<fmt:setLocale>标签:用于设置本地化环境
属性描述 
value:Locale 环境的指定,可以是 java.util.Locale 或 String 类型的实例 
scope:Locale 环境变量的作用范围(可选) 
如:
    设置本地环境为繁体中文
    <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:时区的设置 
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"/>


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

如:
    将"15%"转换为数字
        <fmt:parseNumber value="15%" type="percent" var="num"/> 


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


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

 

转载于:https://www.cnblogs.com/Ant-soldier/p/5051873.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LaTeX引用多篇bibtex格式文献

首先找到要引用的文献的bibtex格式&#xff08;谷歌学术的引用上有&#xff09;&#xff0c;如下图所示 其中"girshick2015fast"是该文献的标签(待会引用这篇文献时会用到)&#xff0c;可以自己重命名 将要引用的全部文献的bibtex格式放到一个txt文件上&#xff08;…

Libra白皮书面世 正确解读Facebook野心需注意这些点

来源&#xff1a;全链财经北京时间6月18日下午消息&#xff0c;Facebook的加密货币“Libra”相关网站正式上线&#xff0c;Facebook还发布了这款加密货币的白皮书。据coindesk报道称&#xff0c;Libra将在由100个分布式计算机服务器或节点启动的区块链网络上运行。目前有28个节…

网址的bibtex格式

用LaTeX引用网址时&#xff0c;可以将网址写成以下bibtex格式&#xff1a; misc{name,author {author names},title {This is title},howpublished{\url{http://www.this is url/}},year {2000}} 在导言去加入url包&#xff0c;即\usepackage{url} 如果想设置引用文献里网…

[Mac]Python 安装MySQLdb模块

今天我需要用python操作Mysql数据库&#xff0c;需要安装第三方MySQLdb模块&#xff08;下载地址&#xff1a;http://mysql-python.sourceforge.net&#xff09;&#xff0c;但是执行sudo python setup.py install时&#xff0c;提示缺少“mysql_config”文件,解决这个问题需要…

matlab保存colormap失败

自己辛苦手动调节的colormap想保存下来发现并没有保存&#xff0c;可以试试以下代码&#xff1a; ax gca; mycmap colormap(ax); save(MyColormaps,mycmap) 下次调用这个自定义的colormap时&#xff1a; load MyColormaps colormap(mycmap) 或者 ax gca; load MyColorm…

洪小文清华论道:AI 的前生今世及未来应用图景

来源&#xff1a;微软丹棱街5号丹棱君有话说&#xff1a;这是一场解析了 AI 前世今生及未来应用图景的演讲&#xff0c;一场经济学家与科学家的问答&#xff0c;将会对撞出怎样的思想火花&#xff1f;6月13日&#xff0c;微软全球资深副总裁、微软亚太研发集团主席兼微软亚洲研…

ios获取本地音乐库音乐很详细 扫描IPHONE本地音乐文件,获得音乐名,歌手名代码示例...

//扫描本地音乐文件&#xff0c;返回艺术家列表 需要库MediaPlayer.framework -(NSArray*) findArtistList { NSMutableArray *artistList [[NSMutableArray alloc]init]; MPMediaQuery *listQuery [MPMediaQuery playlistsQuery];//播放列表 NSArray *playl…

The value of a feed cannot be a tf.Tensor object.

使用tf.data.Dataset时出现报错“The value of a feed cannot be a tf.Tensor object.” session.run(train_op, feed_dict{model.image_4d:x,model.y:y}) 如上面的代码&#xff0c;tf.data.Dataset生成的是x和y是tensor&#xff0c;所以现将x和y转为numpy格式 x, y sessio…

中国学者变革300多年来的活塞!MIT、哈佛联手,动力3倍以上,可节能40%

来源&#xff1a;机器人大讲堂导读麻省理工学院&#xff08;MIT&#xff09;和哈佛大学的研究团队合作设计出了一种使用柔性材料的新型活塞&#xff0c;动力是传统活塞的3倍以上&#xff0c;且最多可节能40%。这种柔性活塞有望从根本上改变汽车发动机、机械臂、起重机、减震器和…

网络协议及IP地址分类

网络协议&#xff08;Protocol&#xff09;是一种特殊的软件&#xff0c;是计算机网络实现其功能的最基本机制。网络协议的本质是规则&#xff0c;即各种硬件和软件必须遵循的共同守则。网络协议并不是一套单独的软件&#xff0c;它融合于其他所有软件系统中&#xff0c;因此可…

Android中Parcelable接口用法

Android中Parcelable接口用法 1. Parcelable接口 Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelable interface must also have a static field called CREATOR&#xff0c; which is an object imp…

python获取当前文件路径

路径包含文件名&#xff1a; import sys print(sys.argv[0]) 输出/***/***/***.py 路径不包含文件名&#xff1a; 以下三种方式输出的结果一样 import os print(os.getcwd()) print(os.path.abspath(.)) print(os.path.abspath(os.curdir)) 输出/***/***/***

顶级专家谈中国脑科学研究最新成果

来源&#xff1a;环球时报大脑是人体最复杂的器官&#xff0c;人类对它的构造与运作机制充满好奇&#xff0c;但至今仍有大量难题需要破解。6月18日&#xff0c; 由中国科学院自动化研究所主办、自动化所脑网络组研究中心——中科搏锐团队承办的“中国科学院自动化研究所脑科学…

VMware虚拟机的三种联网方法及原理

VMware虚拟机的三种联网方法及原理 博客分类&#xff1a; 操作系统 虚拟机Vmware互联网网络应用网络协议 一、Brigde——桥接 &#xff1a;默认使用VMnet0 1、原理&#xff1a; Bridge 桥"就是一个主机&#xff0c;这个机器拥有两块网卡&#xff0c;分别处于两个局域…

[iOS]深度遍历view的subview

情景: cell中有textfield, 现在需要在tableview滚动是取消所有的textfield的第一响应, 一个个写比较麻烦, 写了一个递归方法, 用来遍历所有的子视图. -(void)allView:(UIView *)rootView {for (UIView *subView in [rootView subviews]){if (!rootView.subviews.count) {return…

量化人类社会交互行为

利用虚拟现实技术对人类社会交互行为进行定量化测量的过程 图片来源&#xff1a;蒯曙光团队来源&#xff1a; 中国科学报清早&#xff0c;小明走进教室&#xff0c;发现同学们正在聊天&#xff0c;老师敲黑板试图引起学生们的注意&#xff0c;李雷和韩梅梅明白了老师的意图&a…

如何在A用户下建立视图,这个视图是A的表与B的表进行关联的?

这个前提条件是&#xff0c;同一个数据库&#xff0c;不同用户&#xff01;&#xff01;&#xff01;如果是不同数据库&#xff0c;就要用dblink了 一开始&#xff0c;我直接创建视图&#xff0c;但是提示“权限不足”&#xff1b; 于是我是用A登陆&#xff0c;直接用select * …

VMware14.1 Ubuntu16.04安装教程

1. 安装WMware14.1&#xff0c;安装成功后打开点击“主页”中的“创建新的虚拟机”。 2. 选择“自定义”&#xff0c;点击“下一步” 3. 选择默认选项&#xff0c;点击“下一步”。 4. 选择“稍后安装操作系统”&#xff0c;点击“下一步”。 5. 根据自己的实际情况进行选择&am…

python生成和导入pyc文件

生成pyc文件&#xff1a; import compileall compileall.compile_dir("/file_path") /file_path文件夹包含了所有要生成pyc格式的py文件 运行完后会在/file_path下生成一个__pycache__目录&#xff0c;存放所有生成的的pyc文件 导入pyc文件&#xff1a; 生成的p…

17个机器学习的常用算法!

来源&#xff1a;AI干货知识库根据数据类型的不同&#xff0c;对一个问题的建模有不同的方式。在机器学习或者人工智能领域&#xff0c;人们首先会考虑算法的学习方式。在机器学习领域&#xff0c;有几种主要的学习方式。将算法按照学习方式分类是一个不错的想法&#xff0c;这…