`

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 描述
1 value 支持 设置地区的编码,表示一个java.util.Local类
2 variant 支持 如果要访问在同一个web容器下的其他资源时设置,必须要以"/"开头
3 scope 不支持 地区设置的范围

<fmt:requestEncoding>:

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

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

 其属性:

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

读取资源文件(国际化中最重要的组成部分是资源文件读取,以*.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 描述
1 value 支持 要格式化的数字
2 type 支持 指定格式化的形式,如数字,货币,百分比,默认为数字
3 pattern 支持 要格式化数字的格式
4 currencyCode 支持 货币编号(ISO 4217编码),人民币(CNY),美元(USD)
5 currencySymbol 支持 显示的货币符号,如¥或$
6 groupingUsed 支持 是否在数字中加","
7 maxIntegerDigits 支持 可以显示的最大整数位
8 minIntegerDigits 支持 可以显示的最小整数位
9 maxFractionDigits 支持 可以显示最大小数位
10 minFractionDigits 支持 可以显示最小小数位
11 var 不支持 保存已格式化完成的数字的属性名称
12 scope 不支持 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 描述
1 value 支持 要格式化的数字
2 type 支持 指定格式化的数字形式,如数字,货币,百分比,默认为数字
3 patten 支持 要格式化数字的格式
4 parseLocale 支持 设置文字的区域编码
5 integerOnly 支持 是否只显示整数部分
6 var 不支持 保存已格式化完成的数字的属性名称
7 scope 不支持 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 描述
1 value 支持 要格式化的日期时间
2 type 支持 指定格式化的形式,如日期,时间等,默认为date
3 pattern 支持 要格式化数字的格式
4 dateStyle 支持 设置日期的显示格式,默认为default
5 timeStyle 支持 设置时间的显示个事,默认为default
6 timeZone 支持 设置时区
7 var 不支持 存储结果的属性名称
8 scope 不支持 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 描述
1 value 支持

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

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

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics