JSTL常用标签之大聚集---下

JSTL国际化标签库:

   其主要标签如下:

NO功能分类标签名称描述
1国际化标签<fmt:setLocal>设置一个全局的地区代码
2<fmt:requestEncoding>设置统一的请求编码
3信息显示标签
<fmt:bundle>设置临时的要读取资源文件的名称
4<fmt:message>通过key取得Value,通过<fmt:param>向动态文本设置内容
5<fmt:setBundle>设置一个全局的要读取资源文件的名称
6数字及日期格式化<fmt:formatNumber>格式化数字
7<fmt:parseName>反格式化数字
8<fmt:formatDate>格式化日期,将日期变为字符串
9<fmt:parseDate>反格式化日期,将字符串变为日期
10<fmt:setTimeZone>设置一个全局的时区
11<fmt:timeZone>设置一个临时的时区

<fmt:setLocal>:

  设定用户所在的区域;

测试页面:

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





  <body>


	<%


	pageContext.setAttribute("date",new Date());


	 %>


	 


	 中文显示日期显示:


	 <fmt:setLocale value="zh_CN"/>


	 	<fmt:formatDate value="${date}"/><br />


	 英文显示日期显示:


	 <fmt:setLocale value="en_US"/>


	 	<fmt:formatDate value="${date}"/>


  </body>

 其属性:

 

No属性名称EL描述
1value支持设置地区的编码,表示一个java.util.Local类
2variant支持如果要访问在同一个web容器下的其他资源时设置,必须要以"/"开头
3scope不支持地区设置的范围

<fmt:requestEncoding>:

   设置主要功能是设置所有的请求编码,与setCharacterEncoding();

	<fmt:requestEncoding value="UTF-8"/>

 其属性:

No名称EL描述
1value支持设置字符编码

读取资源文件(国际化中最重要的组成部分是资源文件读取,以*.properties为后缀的资源文件,所有的内容按照“key=value”的格式,在Web中,资源文件要保存在WEB-INF/classes文件下):

<fmt:message>,<fmt:bundle>,<fmt:setBundle>;

  <body>


	<fmt:bundle basename="Message">


		<fmt:message key="name" var="nameref"></fmt:message>


	</fmt:bundle>


	


	姓名:${nameref }<br />


	<fmt:bundle basename="Message">


		<fmt:message key="info" var="inforef">


			<fmt:param value="GOOD" />


		</fmt:message>


	</fmt:bundle>


	信息:${inforef }


  </body>

 其资源文件:

name=keith


info=a good student

 在进行资源文件读取时,也可以通过<fmt:setBundl>标签设置一个默认的读取资源文件名称,这样每次在使用<fmt:message>标签进行信息读取时,直接通过bundle设置要读取资源的属性即可:

例子:

  <body>


  	<fmt:setBundle basename="Message" var="msg"/>


  	 <fmt:message key="name" var="nameref" bundle="${msg}" />


	姓名:${nameref }


	<fmt:message key="info" var="inforef" bundle="${msg}">


		<fmt:param value="GOOD" />


	</fmt:message>


	信息:${inforef }


  </body>

 在国际化中,需要建立不同的属性文件,例如:

中文的:Message_zh_CN.properties,英文的:Message_en_US.properties;此时可以通过<fmt:setLocal>标签来指定要读取的区域资源文件:

<fmt:setLocal value="zh_CN" />

<fmt:setBundle basename="Message" var="msg"/>

 

数字格式化标签

完成数字格式化的操作,可以使用:<fmt:formatNumber>和<fmt:parseNumber>完成。

测试页面:

	<fmt:formatNumber value="199906.600112" maxIntegerDigits="7" maxFractionDigits="3" groupingUsed="true" var="num" />


		格式化后的数字:${num }


	<fmt:formatNumber value="199906.600112" pattern="##.###E0" var="num"/>


	科学计数法:${num }

 此标签的属性:

No属性名称EL描述
1value支持要格式化的数字
2type支持指定格式化的形式,如数字,货币,百分比,默认为数字
3pattern支持要格式化数字的格式
4currencyCode支持货币编号(ISO 4217编码),人民币(CNY),美元(USD)
5currencySymbol支持显示的货币符号,如¥或$
6groupingUsed支持是否在数字中加","
7maxIntegerDigits支持可以显示的最大整数位
8minIntegerDigits支持可以显示的最小整数位
9maxFractionDigits支持可以显示最大小数位
10minFractionDigits支持可以显示最小小数位
11var不支持保存已格式化完成的数字的属性名称
12scope不支持var变量的保存范围,默认是page

<fmt:parseNumber>可以进行反格式化数字:

	<fmt:parseNumber value="199,906.6" var="num"/>


	反格式化数字:${num }<br>


	<fmt:parseNumber value="19.991E4" pattern="##.###E0" var="num"/>


	反科学计数法:${num }<br>


		<fmt:parseNumber value="98.5%" pattern="00%" var="num"/>


	反百分比法:${num }<br>

 此标签的属性:

No属性名称EL描述
1value支持要格式化的数字
2type支持指定格式化的数字形式,如数字,货币,百分比,默认为数字
3patten支持要格式化数字的格式
4parseLocale支持设置文字的区域编码
5integerOnly支持是否只显示整数部分
6var不支持保存已格式化完成的数字的属性名称
7scope不支持var变量的保存范围,默认是page

 

日期格式化标签:<fmt:formatDate>主要用于日期时间的格式化显示;

  <body>


	<%


	pageContext.setAttribute("dateref",new java.util.Date());


	 %>


	 <fmt:formatDate value="${dateref}" type="both" dateStyle="default" var="date"/>


	defalut显示时间:${date }<br />


		 <fmt:formatDate value="${dateref}" type="both" dateStyle="short" var="date"/>


	short显示时间:${date }<br />


		 <fmt:formatDate value="${dateref}" type="both" dateStyle="medium" var="date"/>


	medium显示时间:${date }<br />


		 <fmt:formatDate value="${dateref}" type="both" dateStyle="long" var="date"/>


	long显示时间:${date }<br />


		 <fmt:formatDate value="${dateref}" type="both" dateStyle="full" var="date"/>


	full显示时间:${date }<br />


	


			 <fmt:formatDate value="${dateref}" type="both" pattern="yyyy年MM月dd日 HH时 mm分 ss秒 SSS毫秒" var="date"/>


	定义格式显示时间:${date }<br />


	


  </body>

 此标签的属性是:

No属性名称EL描述
1value支持要格式化的日期时间
2type支持指定格式化的形式,如日期,时间等,默认为date
3pattern支持要格式化数字的格式
4dateStyle支持设置日期的显示格式,默认为default
5timeStyle支持设置时间的显示个事,默认为default
6timeZone支持设置时区
7var不支持存储结果的属性名称
8scope不支持var变量的保存范围

设置时区:<fmt:setTimeZone />

   设置失去或者将设置的时区存储到一个属性范围中:

	<%
	pageContext.setAttribute("dateref",new java.util.Date());
	 %>
	<fmt:timeZone value="HST">
		<fmt:formatDate value="${dateref}" type="both" dateStyle="full" timeStyle="full" var="date"/>
	</fmt:timeZone>
	FULL显示日期时间:${date }

 此标签的属性是:

No属性名称EL描述
1value支持

要设置的时区,默认为GMT时区(格林威治标准时间)

2var不支持存储时区的属性名称
3scope不支持var保存范围,默认是page范围

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值