jsp页面中jstl标签详解,I18N格式化标签库

2019-09-03 09:22 来源:未知

I18N格式化标签库
JSTL标签提供了对国际化(I18N)的帮助,它能够凭仗发出央求的顾客端地域的两样来显示差异的语言。同期还提供了格式化数据和日期的不二秘技。
贯彻这个作用供给I18N格式标签库(I18N-capable formation tags liberary)。引进该标签库的点子为:

JSLT标签库,是一般支出日常应用的,也是无数标签中质量最棒的。把常用的内容,放在此处备份一份,随用随查。尽量做到不用查,就足以随手就足以写出来。那终究Java工程师的底蕴吧,一定要踏实。

I18N格式标签库提供了10个标签,那些 标签从功能上能够分开为3类如下:
(1)数字日期格式化。formatNumber标签、formatData标签、parseNumber标签、parseDate标签、timeZone标签、setTimeZone标签。
(2)读取新闻能源。bundle标签、message标签、setBundle标签。
(3)国际化。setlocale标签、requestEncoding标签。
1 数字日期格式化
数字日期格式化标签共有6个,用来将数字或日期调换来设定的格式。
1.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】:

JSTL全名叫JavaServer Pages Standard Tag Library,方今新型的本子为1.1版。JSTL是由JCP(Java Community Process)所制订的规范标准,它首要提须求Java Web开辟人员三个正经通用的标签函数库。

[pattern=”pattern”]
[currencyCode=”code”]
[currencySymbol=”symbol”]
[groupingUsed=”true|false”]
[maxIntergerDigits=”maxDigits”]
[minIntergerDigits=”minDigits”]
[maxFractionDigits=”maxDigits”]
[minFractionDigits=”minDigits”]
[var=”name”]
[scope=page|request|session|application]
> 被格式化的数据

Web技师可以使用JSTL和EL来支付Web程序,代替古板一直在页面上嵌入Java程序(Scripting)的做法,以增长度序的阅读性、维护性和方便性。

属性表达标签参数表明
名称:说明: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

JSTL 1.1亟须在支撑Servlet 2.4且JSP 2.0以上版本的Container才可应用

Type属性的类别应用
类型:说明:示例
number:数字格式:0.8
currency:本地货币:¥0.80
percent:百分比格式:十分九

 

1.2.标签
将格式化后的数字、货币、百分比都转发为数字类型。
【语法1】:

 

[pattern=”pattern”]
[parseLocale=”locale”]
[intergerOnly=”true|false”]
[scope=”page|request|session|application”]
/>
【语法2】:

<%@ taglib %>引进标签库

[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
能够看作是的逆运算。相应的参数和品种的布署和行使格式化时相同。
提示:属性参数的配置和利用同标签使用的章程同样。同一时间,在进行类型转换时只要给出的品类不准确将会现身万分。
诸如在进行百分比转化时若无给type类型也许给出type类型但提供的数码中未有%都会发出特别。由此在其实使用中用捕获十分。

1、以classPath中,加入jar包:  standard-1.1.2.jar ,  jstl-1.1.2.jar

1.3.标签
该标签首要用来格式化日期和时间。
【语法】:

 

[pattern=”pattern”]
[dateStyle=”default|short|medium|long|full”]
[timeStyle=”default|short|medium|long|full”]
[timeZone=”timeZone”]
[var=”name”]
[scope=”page|request|session|application”]
/>

2、在相目WEB-INFtld文件夹中归入常用的tld文件:c.tld,fmt.tld

参数表达标签属性表明
属性名:说明: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:展现日期和岁月
1.4.标签
标签首要将字符串类型的日子或日期转化为时间或日期对象。
【语法1】:

3、在jsp文件的顶端参预以下内容:

[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】:

Java代码  图片 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”]
> Date

  1. <%@ taglib uri="" prefix="c" %>   
  2. <%@ taglib uri="" prefix="fmt"%>  
  3. <%@ taglib uri="" prefix="fn" %>  

【参数表达】参数表达标签属性表明
属性名:说明: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

 

提醒:和是倒转的运算进程,能够相比较学习。

 

1.5.标签
该标签用于设定私下认可时区只怕将时区存款和储蓄在钦点的JSP范围内。
【语法】:

<c:> 宗旨标签库 

【参数表明】 标签属性表明

==========================================================================

参数名:说明:EL:类型:必须:默认值
value:使用的时区:是:String||ava.util.TimeZone:是:无
var:使用var定义的参数名保存值:否:String:否:无
scope:存储var的JSP范围:否:String:否:page
value用来设定使用的时区,比方中中原人民共和国行使的时区为CST,其余的还也可以有EST、PST等。能够把时区存款和储蓄在内定的JSP范围内,举个例子存款和储蓄在session中,
客商访问的具备页面都得以突显应用的设定的时区下相应的时间。

JSTL 焦点标签库(C标签)标签共有10个,功效上分为4类:
1.表明式调控标签:out、set、remove、catch
2.流程序调整制标签:if、choose、when、otherwise
3.生生不息标签:forEach、forTokens
4.U本田CR-VL操作标签:import、url、redirect

提醒:有关提姆eZone的求证见JDK扶助文档的java.util.TimeZone类。

 

1.6.标签
该标签重要用于安装标签体内使用的时区。
【语法】:

<c:forEach> 标签

…..


运用只会选取到标签体内使用的时区,对标签外界将不发出震慑。

为循环调节,它能够将汇聚(Collection)中的成员循序浏览三回。

2 读撤销息财富
读取消息财富使用的标签首要有4个:标签、标签、标签和标签。重要用以从财富文件中读取音信。
2.1.标签
该标签主要用以将能源文件绑定于它的标签体中的彰显。
【语法】:

 

….标签主旨

 <c:forEach> 标签的语法 表明 :

【参数表明】: 标签属性说明
参数名:说明:EL:类型:必须:默认值
basename:钦命使用的财富文件的名目:是:String:是:无
prefix:前置关键字:是:String:否:无

语法1:迭代一集聚对象之富有成员

2.2.标签
该标签主要用来绑定能源文件也许把财富文件保留在钦命的JSP范围内。
【语法】:

Html代码  图片 2

【参数表明】: 标签属性表明
参数名:说明:EL:类型:必须:默认值
basename:内定使用的能源文件的称谓:是:String:是:无
var:内定将财富文件保留的称号:否:String:否:无
scope:设定将财富文件保留的JSP范围:否:String:否:page

  1. <c:forEach [var="varName"] items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>  
  2. 本体内容  
  3. </c:forEach>  

2.3.标签
该标签首要负担读取本地能源文件,从内定的音信文本财富文件中读取键值,而且能够将键值保存在钦点的JSP范围内。
【语法1】:

语法2:迭代钦定的次数

【语法2】:

Html代码  图片 3

【语法3】:
key …

  1. <c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end" [step="step"]>  
  2. 本体内容  
  3. </c:forEach>  

【参数表达】: 标签属性表明
参数名:说明:EL:类型:必须:默认值
key:钦命键值的称谓(索引):是:String:是:无
bundle:内定音信文本的来源:是:LocalizationContext:否:无
var:钦点期存款款和储蓄键值的变量名:否:String:否:无
scope:钦定var的成效域:否:String:否:page
唤醒:提出此处的bundle使用EL表明式,因为属性bundle的门类为LocalizationContext,并不是一个String类型的UHighlanderL

 

标签中有一个prefix属性,该标签用来指明前缀。举例配置文件内容如下:
org.person.name=olive
org.personpassword=01234
一旦不选取prefix标签,在取值是要指明前缀。比如:

<c:forEach> 标签的 属性表明 :

选拔prefix属性能够简化取值时的代码。

图片 4

2.4.

 

标签
该标签主要用于在这之中能源文件中获得键值时,动态的为能源文件中的变量赋值。
【语法1】:

 

【语法2】:
…标签主体
3 国际化
国际化这些分类中国共产党满含五个标签:用于设定语言地区和用于设定央浼的字符编码的竹签。
3.1.标签
标签用来设定顾客语言区域。
【语法】:

<c:forEach> 标签的 属性 : varStatus属性: 它的提供别的四个属性:index,count,fist和last,它们个自的意思如下:

【参数表达】: 标签属性表明

Java代码  图片 5

参数名:说明:EL:类型:必须:默认值
value:钦定区域代码:是:String||java.util.Locale:是:无
variant:操作系统的连串:是:String:是:无
scope:设定时区的效果范围:否:String:是:page

  1. 属性                   类型                                  意义  
  2. index                  number                    现在指到成员的目录  
  3. count                  number                    总共指到成员的总和  
  4. first                  boolean                   将来指到成员是还是不是为第贰个  
  5. last                   boolean                   以往指到成员是不是为最终八个    

value属性用来钦定使用的语言代码,能够从浏览器的【工具】---【Internet选项】---【语言】---【增添】中查阅浏览器匡助的语言种类及言语代码。
例如:中文(zh_cn)、台湾(zh_tw)、香港(zh_mo)等。
3.2.标签
该标签用于设定央浼的编码格式。功效同servletRequest.setCharacterEncoding()方法一致。
【语法】:

 

【参数表达】:
value属性用来钦命使用的编码集举个例子:gbk、gb2312等。当未有交到value的值时将会自行检索取寻觅合适的编码情势,因而能够很好的解决中文乱码问题。

 <c:forEach> 遍历 List列表:

JSTL标签提供了对国际化(I18N)的帮忙,它能够依靠发出央求的客商端地域的例外来展现不一致的语言。同时还提供了式化数据...

 对于多个骨干类型的数组,当前元素将用作相应包装类(Integer、Float等等)的多个实例提供。

Html代码  图片 6

  1. <c:forEach items="${domainList }" var="item">  
  2. <tr>  
  3.   <td align="center" valign="middle">${item["domain"]==null?" ":item["domain"]}</td>  
  4.   <td align="center" valign="middle"><fmt:formatDate value="${item['bind_date']}" pattern="yyyy-MM-dd HH:mm:ss"/></td>  
  5.   <td align="center" valign="middle">  
  6.     <c:if test="${item['domain']!=null}">  
  7.     <a href="javascript:;" id="${item['domain']}" class="del"> </a>  
  8.     </c:if>  
  9.     </td>  
  10. </tr>    
  11. </c:forEach>   

 <c:forEach> 遍历Map:

 对于贰个java.util.Map,当前成分则作为贰个java.util.Map.Entry提供。

Html代码  图片 7

  1. <c:if test="${!empty permissionMap}">    
  2. <c:forEach items="${permissionMap}" var="item">  
  3. <tr>  
  4.     <td>${item.value.id}</td>  
  5.     <td>${item.value.urlOnClass}</td>  
  6.     <td>${item.value.urlOnMethod}</td>  
  7. </tr>  
  8. </c:forEach>  
  9. </c:if>    

 

<c:forTokens> 标签


用来浏览一字符串中兼有的积极分子,其成员是由定义符号(delimiters)所相隔的。

 

 <c:forTokens> 标签的语法 表明 :

Html代码  图片 8

  1. <c:forTokens items="stringOfTokens" delims="delimiters" [var="varName"]  
  2. [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>  
  3. 本体内容  
  4. </c:forTokens>  

 

<c:forTokens> 标签的 属性表达 :

图片 9

 

 

<c:out> 标签


重在用来呈现数据的剧情

 

 <c:out> 标签的语法 表明 :

语法1:未有本体(body)内容

Html代码  图片 10

  1. <c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"] />   

语法2:有本体内容

Html代码  图片 11

  1. <c:out value="value" [escapeXml="{true|false}"]>  
  2. default value  
  3. </c:out>  

<c:forEach> 标签的 属性表达 : 略

 

貌似的话,<c:out>暗中认可会将<、>、’、” 和 & 调换为 <、>、'、" 和&。假设不想改换时,只供给设定<c:out>的escapeXml属性为fasle就能够了。

 

 

<c:set> 标签


重大用于将变量积攒至JSP范围中只怕JavaBean的属性中。

 

 <c:set> 标签的语法 表明 :

语法1:将value的值储存至范围为scope的 varName 变量之中

Html代码  图片 12

  1. <c:set value="value" var="varName" [scope="{ page|request|session|application }"]/>   

语法2:将本体内容的数额积累至范围为scope的 varName 变量之中

Html代码  图片 13

  1. <c:set var="varName" [scope="{ page|request|session|application }"]>  
  2. … 本体内容  
  3. </c:set>  

 

语法3:将 value的值积存至 target 对象的品质中

Html代码  图片 14

  1. <c:set value="value" target="target" property="propertyName" />   

语法4:将本体内容的多少储存至target 对象的特性中

Html代码  图片 15

  1. <c:set target="target" property="propertyName">  
  2. … 本体内容  
  3. </c:set>   

<c:set> 标签的 属性表明 :

图片 16

 

 

<c:remove> 标签


要害用来移除变量。

 

 <c:remove> 标签的语法 表明 :

Html代码  图片 17

  1. <c:remove var="varName" [scope="{ age|request|session|application }"] />  

 

<c:catch> 标签


一言九鼎用以管理爆发错误的要命现象,何况将错误音讯储存起来。

 

 <c:catch> 标签的语法 表明 :

Html代码  图片 18

  1. <c:catch [var="varName"] >  
  2. … 欲抓取错误的有的  
  3. </c:catch>   

 

<c:if> 标签


的用处就和大家一般在先后中用的if同样。

 

 <c:if> 标签的语法 表达 :

语法1:未有本体内容(body)

Html代码  图片 19

  1. <c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/>  

 

语法2:有本体内容

Html代码  图片 20

  1. <c:if test="testCondition" [var="varName"] [scope="{page|request|session|application}"]>  
  2. 本体内容  
  3. </c:if>  

示例:

 

Html代码  图片 21

  1. <c:if test="${not empty item.publish_time}">  
  2. 内容  
  3. </c:if>  
  4.   
  5. <c:if test="${item['domain']!=null}">  
  6. 内容  
  7. </c:if>  
  8.   
  9. <c:if test="${!empty permissionMap}">   
  10. 内容  
  11. </c:if>  

 

 

c:choose> <c:when> <c:otherwise>   标签


 <c:choose when otherwise> 标签的语法 表达 :

Html代码  图片 22

  1. <c:set var="score">85</c:set>  
  2. <c:choose>  
  3. <c:when test="${score>=90}">  
  4. 您的实际绩效为优质!  
  5. </c:when>  
  6. <c:when test="${score>=70&&score<90}">  
  7. 您的大成为白玉无瑕!  
  8. </c:when>  
  9. <c:when test="${score>60&&score<70}">  
  10. 您的成就为合格  
  11. </c:when>  
  12. <c:otherwise>  
  13. 抱歉,您未有通过考试!  
  14. </c:otherwise>  
  15. </c:choose>   

 

 

<fmt:>   格式 化标签库 

==========================================================================

一:JSTL格式化标签又称为I18N标签库,首要用来编排国际化的WEB应用,使用此作用能够对贰个特定的语言恳求做出适当的管理。

比如:中华夏族民共和国内地顾客将展现简体粤语,湖北地区则突显繁体普通话,使用I18N格式化标签库还足以格式化数字和日期,比仿佛一数字或稳步,在差异国度或许有例外的格式,使用I18N格式标签库能够将数字和日期格式为地面包车型客车格式。

在JSP页面中要选用到格式化标签,必要引进上面包车型地铁言辞:
<%@ taglib uri="" prefix="fmt"% >

二:概览


    格式化标签
    <fmt:fromatNumber>
    <fmt:formatDate>
    <fmt:parseDate>
    <fmt:parseNumber>
    <fmt:setTimeZone>
    <fmt:timeZone>

    国际化标签
    <fmt:setLocale>
    <fmt:requestEncoding>
    <fmt:bundle>
    <fmt:message>
    <fmt:param>
    <fmt:setBundle>

三:<fmt:formatNumber>


    此标签会依照区域定制的办法将数字格式化成数字,货币,百分比。
    此标签的质量:
    value:要格式化的数字
    type:遵照什么类型格式化
    pattern:自定义格式化样式
    currencyCode:ISO-4721货币代码,只适用于依据货币格式化的数字
    currencySymbol: 货币符号,如¥,只适用于依据货币格式化的数字
    groupingUsed: 是或不是含有分隔符
    maxIntegerDigits: 整数局地最多显示多少位
    mixIntegerDigits: 整数有个别起码展现多少位
    maxFractionDigits: 小数部分最多展现多位位
    minFractionDigits: 小数部分至少展现多位位
    var:存款和储蓄格式化后的结果
    scope: 存款和储蓄的限量

    示例1:    

Java代码 
<%@ page language="java" pageEncoding="utf-8"%>   
<%@ taglib uri="" prefix="c"%>   
<%@ taglib uri="" prefix="fmt" %>   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
<html>   
    <head>   
        <title>chapter4.jsp</title>   
    </head>   
    <body>   
        <div>   
            <div>   
                <fmt:setLocale value="fr_fr"/>   
                <fmt:formatNumber value="123456789.012"/>   
                <br/>   
                <fmt:setLocale value="zh_cn"/>   
                <fmt:formatNumber value="123456789.012"/>   
                <br />   
                <fmt:setLocale value="de_de"/>   
                <fmt:formatNumber value="123456789.012"/>   
                <br />                   
            </div>   
        </div>   
    </body>   
</html>  

<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="" prefix="c"%>
<%@ taglib uri="" prefix="fmt" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>chapter4.jsp</title>
    </head>
    <body>
        <div>
            <div>
                <fmt:setLocale value="fr_fr"/>
                <fmt:formatNumber value="123456789.012"/>
                <br/>
                <fmt:setLocale value="zh_cn"/>
                <fmt:formatNumber value="123456789.012"/>
                <br />
                <fmt:setLocale value="de_de"/>
                <fmt:formatNumber value="123456789.012"/>
                <br />                
            </div>
        </div>
    </body>
</html>    注意:假设要完成国际化,那么编码格式要安装为utf-8.
          从程序运营效果能够看出,设定的区域差别,格式化数字的显得也会不一致.

 

四:type属性:能够是数字(number),货币(currency),百分比(percent)

    示例2:    

Java代码 
<%@ page language="java" pageEncoding="utf-8"%>   
<%@ taglib uri="" prefix="c"%>   
<%@ taglib uri="" prefix="fmt" %>   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
<html>   
    <head>   
        <title>chapter4.jsp</title>   
    </head>   
    <body>   
        <div>   
            <div>   
                <fmt:setLocale value="zh_cn"/>   
                <fmt:formatNumber value="0.3" type="number"/><br />   
                <fmt:formatNumber value="0.3" type="currency"/><br />   
                <fmt:formatNumber value="0.3" type="percent"/><br />                                   
            </div>   
        </div>   
    </body>   
</html>  

<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="" prefix="c"%>
<%@ taglib uri="" prefix="fmt" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>chapter4.jsp</title>
    </head>
    <body>
        <div>
            <div>
                <fmt:setLocale value="zh_cn"/>
                <fmt:formatNumber value="0.3" type="number"/><br />
                <fmt:formatNumber value="0.3" type="currency"/><br />
                <fmt:formatNumber value="0.3" type="percent"/><br />                                
            </div>
        </div>
    </body>
</html>     currencyCode为货币代码,比方比索为USD,RMB为CNY等
     currencySymbol为货币符号比方,RMB为¥,欧元为$。

     要是不点名区域,则会依据语言区域活动选用currencySymbol

   示例3:   

Java代码 
<%@ page language="java" pageEncoding="utf-8"%>   
<%@ taglib uri="" prefix="c"%>   
<%@ taglib uri="" prefix="fmt" %>   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
<html>   
    <head>   
        <title>chapter4.jsp</title>   
    </head>   
    <body>   
        <div>   
            <div>   
                <fmt:setLocale value="zh_cn"/>   
                <fmt:formatNumber value="0.3" type="currency"/><br />   
                <fmt:setLocale value="en_Us"/>   
                <fmt:formatNumber value="0.3" type="currency"/><br />                                              
            </div>   
        </div>   
    </body>   
</html>  

<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="" prefix="c"%>
<%@ taglib uri="" prefix="fmt" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>chapter4.jsp</title>
    </head>
    <body>
        <div>
            <div>
                <fmt:setLocale value="zh_cn"/>
                <fmt:formatNumber value="0.3" type="currency"/><br />
                <fmt:setLocale value="en_Us"/>
                <fmt:formatNumber value="0.3" type="currency"/><br />                                            
            </div>
        </div>
    </body>
</html>     

   currencySymbol属性仍是能够自定义要出示的头标记,不过无可争辩得type="currency"才会一蹴而就,举例:    

Java代码 
<%@ page language="java" pageEncoding="utf-8"%>   
<%@ taglib uri="" prefix="c"%>   
<%@ taglib uri="" prefix="fmt" %>   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
<html>   
    <head>   
        <title>chapter4.jsp</title>   
    </head>   
    <body>   
        <div>   
            <div>   
                <fmt:setLocale value="zh_cn"/>   
                <fmt:formatNumber value="0.3" type="currency" currencySymbol="#"/><br />   
                <fmt:setLocale value="en_Us"/>   
                <fmt:formatNumber value="0.3" type="currency" currencySymbol="#"/><br />                                           
            </div>   
        </div>   
    </body>   
</html>  

<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="" prefix="c"%>
<%@ taglib uri="" prefix="fmt" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>chapter4.jsp</title>
    </head>
    <body>
        <div>
            <div>
                <fmt:setLocale value="zh_cn"/>
                <fmt:formatNumber value="0.3" type="currency" currencySymbol="#"/><br />
                <fmt:setLocale value="en_Us"/>
                <fmt:formatNumber value="0.3" type="currency" currencySymbol="#"/><br />                                       
            </div>
        </div>
    </body>
</html>   

    自定义数字样式
    <fmt:formatNumber value="12.31" pattern=".0000"/><br/>
    <fmt:formatNumber value="1234" pattern="###.##E0"/>
    会显示:
    12.3100
    1.234E3
    会四舍五入

    var:定义三个变量,存储格式化后的结果,scope内定变量存储的范围.用法和后面讲的标签一致.

 

五:<fmt:parseNumber>

     此标签用来将字符串类型的数字,货币或比重转变到数字类型,和<fmt:formatNumber>标签的作用恰恰相反.

     value: 要转换的字符串
     type: 钦定要转移的字符串为何类型,可取值:number,percent,currency
     pattern: 自定义格式化样式
     parseLocale: 钦赐区域来改换字符串
     IntegerOnly:  调换后的数字是或不是只呈现整数部分
     var:  存储转变后的结果
     scope: 存款和储蓄的限制

    示例1:
    <fmt:parseNumber value="500,800,200"/>
    显示: 500800200

    示例2:
    <fmt:parseNumber value="52%" type="percent" />
    突显: 0.52 (四分之二在此处是一个字符串, type钦定这一个字符串是何等类型的值)

    示例3:
    <fmt:parseNumber value="¥123" type="currency" />
    突显123, ¥123在此间是三个字符串, type内定这一个字符串是哪些项指标值

    示例4:
    <fmt:parseNumber value="123.333" type="number" /><br/>
    <fmt:parseNumber value="123.333" type="number"  integerOnly="true"/><br/> 
    显示:
    123.333
    123
    integerOnly明确是还是不是只呈现整数有的. 

    示例5:
   <fmt:parseNumber value="¥123.333" type="currency" parseLocale="zh_CN"/><br/>
   <fmt:parseNumber value="$123.333" type="currency" parseLocale="en_US"/><br/>
    parseLocale="en_US"首借使合营当type="currency"时用的,
    假使要转移货币的字符串类型为value="¥123.333",不安装语言景况的话,会取当前浏览器的私下认可设置,否则将要加上parseLocale="zh_CN",钦命情状为华语蒙受
     假设要转换货币的字符串类型为value="$123.333",不安装语言境况的话,会取当前浏览器的暗中同意设置,假使默认为zh_cn的话,程序会报错的,不然就要加上parseLocale="en_US",钦定意况为匈牙利(Magyarország)语美利哥处境

六:<fmt:formatDate />

     此标签能够将日期格式化.
     属性介绍:
     value 用来格式化的时刻或日期
     type 钦命格式化的是日期依旧时间,或然两个都是取值范围:date,time,both
     pattern 自定义格式化样式
     dateStyle 日期的格式化样式
     timeStyle 时间的格式化样式
     timeZone 钦命使用的时区
     var 存款和储蓄格式化后的结果
     scope 钦点期存款款和储蓄的限量

 

    自定义格式:  


Java代码 
<fmt:setLocale value="zh_cn" />   
<fmt:formatDate value="<%=new Date()%>" type="both" pattern="yyyy/MM/dd hh:mm:ss" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="both" pattern="yyyy-MM-dd HH:mm:ss" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="both" pattern="yyyy年MM月dd日 hh小时mm分钟ss秒" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="both" pattern="yy/MM/dd hh:mm:ss" />   
<br />  

<fmt:setLocale value="zh_cn" />
<fmt:formatDate value="<%=new Date()%>" type="both" pattern="yyyy/MM/dd hh:mm:ss" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="both" pattern="yyyy-MM-dd HH:mm:ss" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="both" pattern="yyyy年MM月dd日 hh小时mm分钟ss秒" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="both" pattern="yy/MM/dd hh:mm:ss" />
<br />     注意这里小时 hh表示12时辰制, HH代表24时辰制

     示例1:     

Java代码 
<fmt:setLocale value="zh_cn" />   
<fmt:formatDate value="<%=new Date()%>" />   
<br />   
<fmt:setLocale value="zh_tw" />   
<fmt:formatDate value="<%=new Date()%>" />  

<fmt:setLocale value="zh_cn" />
<fmt:formatDate value="<%=new Date()%>" />
<br />
<fmt:setLocale value="zh_tw" />
<fmt:formatDate value="<%=new Date()%>" />    
我们可以见到大陆和浙江体现日期的格式是有分别的.

    展现结果:
    2009-12-7 
    2009/12/7

    示例2:    

Java代码 
<fmt:setLocale value="zh_cn" />   
<fmt:formatDate value="<%=new Date()%>" type="time"/>   
<br />   
<fmt:setLocale value="zh_tw" />   
<fmt:formatDate value="<%=new Date()%>" type="time"/>  

<fmt:setLocale value="zh_cn" />
<fmt:formatDate value="<%=new Date()%>" type="time"/>
<br />
<fmt:setLocale value="zh_tw" />
<fmt:formatDate value="<%=new Date()%>" type="time"/>    
展现结果:
    14:59:28 
    下午 02:59:28

     type可取值及意义:
     date 格式化日期
     time格式化时间
     both格式化日期时间

     示例3:    


Java代码 
<fmt:setLocale value="zh_cn" />   
<fmt:formatDate value="<%=new Date()%>" type="both" />   
<br />   
<fmt:setLocale value="zh_tw" />   
<fmt:formatDate value="<%=new Date()%>" type="both" />  

<fmt:setLocale value="zh_cn" />
<fmt:formatDate value="<%=new Date()%>" type="both" />
<br />
<fmt:setLocale value="zh_tw" />
<fmt:formatDate value="<%=new Date()%>" type="both" />   
输出结果:
   2009-12-7 21:24:26 
   2009/12/7 下午 09:24:26

   dateStyle用来设定日期呈现的样式,其值能够是default, short, medium,

long, full,请看示例:   

Java代码 
<fmt:setLocale value="zh_cn" />   
<fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="default" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="short" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="medium" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="long" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="full" />   
<br />  

<fmt:setLocale value="zh_cn" />
<fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="default" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="short" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="medium" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="long" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="full" />
<br />   
 展现结果如下:
    2009-12-7 21:30:49 
    09-12-7 21:30:49 
    2009-12-7 21:30:49 
    2009年12月7日 21:30:49 
    2009年12月7日 星期一 21:30:49
    能够观察dateStyle属性只对日期部分起成效,时间有些从没功用.

    timeStyle用来呈现时间部分的体制,取值范围同上    

Java代码 
<fmt:setLocale value="zh_cn" />   
<fmt:formatDate value="<%=new Date()%>" type="both"    timeStyle="default" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="short" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="medium" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="long" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="full" />   
<br />  

<fmt:setLocale value="zh_cn" />
<fmt:formatDate value="<%=new Date()%>" type="both"    timeStyle="default" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="short" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="medium" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="long" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="full" />
<br />    
输出:
    2009-12-7 21:35:52 
    2009-12-7 下午9:35 
    2009-12-7 21:35:52 
    2009-12-7 下午09时35分52秒 
    2009-12-7 下午09时35分52秒 CST

    timeZone用来设定期区,时区的情趣类似于酒馆里大堂放的多少个机械钟,比如以后日子会有新加坡时间,东京(Tokyo)时光,London时光,伦墩时间,

   取值范围为:EST, CST, MST, PST   

Java代码 
<fmt:setLocale value="zh_cn" />   
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="EST" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="CST" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="MST" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="PST" />   
<br />  

<fmt:setLocale value="zh_cn" />
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="EST" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="CST" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="MST" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="PST" />
<br />     输出结果:
    下午09时41分37秒 CST 
    上午08时41分37秒 EST 
    上午07时41分37秒 CST 
    上午06时41分37秒 MST 
    上午05时41分37秒 PST

七:<fmt:parseDate>

    将字符串类型的年月转移为日期类型.

    value 用来格式化的时间或日期的字符串
    type 钦命格式化的是日期照旧时间,或许两个都是取值范围:date,time,both
    pattern 自定义格式化样式
    dateStyle 日期的格式化样式
    timeStyle 时间的格式化样式
    timeZone 钦赐使用的时区
    var 存款和储蓄格式化后的结果
    scope 内定期存款款和储蓄的限定

   示例:
    <fmt:setLocale value="zh_cn" />
    <fmt:parseDate type="date" value="2008-4-5"/>
     输出: Sat Apr 05 00:00:00 CST 2008,
     这里早已将字符串” 二〇一〇-4-5”转变为了日期对象了.转换一定得小心,类似于二〇一〇-4-5这么的字符串,type必得为date,类似于12:34:56的字符 串,type必需为time类似于贰零零捌-4-5 12:34:56这么的字符串,type必得为both还要注意浏览器的语言情况的安装,假若为zh_tw,那么字符串就不可能不得合乎地点的正经,如为 2010/12/7 晌午 09:24:26就金科玉律转变为日期对象,不然就可以报错.

八:<fmt:setTimeZone>

    value 设定时区
    var 存储设定的时区
    scope 存款和储蓄的范围

    value用来设按期区,能够是EST,CST,MST,PST等,即便有var属性,则将结果存款和储蓄在所设定的界定之内.在品质范围内的页面都会使用该时区为私下认可时区.     

Java代码 
<fmt:setLocale value="zh_cn" />   
<fmt:setTimeZone value="EST" />   
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br />   
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br />   
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br />  

<fmt:setLocale value="zh_cn" />
<fmt:setTimeZone value="EST" />
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br />
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br />
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br />   
输出:
   上午09时25分12秒 EST
   上午09时25分12秒 EST
   上午09时25分12秒 EST
    此时区在该页面内都使得

九:<fmt:timeZone>

    用来暂时设置时区.    

Java代码 
<fmt:setLocale value="zh_cn" />   
<fmt:timeZone value="EST">   
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" />   
<br />   
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" />   
<br />   
</fmt:timeZone>   
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" />  

<fmt:setLocale value="zh_cn" />
<fmt:timeZone value="EST">
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" />
<br />
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" />
<br />
</fmt:timeZone>
<fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" />      
此标签的时区只是局部,在标签开始至标签截至内有效,另外地方无效,其余地点还是会利用暗中同意时区

 

 

 

 

 

 

 

<fn:> Function标签 库 

==========================================================================

 

JSTL Functions 标签库中提供了一组常用的 EL 函数,首要用于拍卖字符串,在 JSP 中能够直接行使这几个函数。

在 JSP 文件中利用 Functions 标签库,要先通过 taglib 指令引进该标签库:

<%@taglib uri=” prefix=”fn” %.

 

18.1fn:contains 函数

       fn:contains 函数用于判定在源字符串中是或不是包罗指标字符串,其语法为:

              fn:contains(String source,String target) -------boolean;

       以上 source 参数钦命源字符串, target 参数钦命指标字符串,重回类型为 boolean 。

       举例对于以下 EL 表明式:

              ${fn:contains(“Tomcat”,”cat”)}

${fn:contains(“Tomcat”,”CAT”)}

       第一个 EL 表明式的值为 true ,第一个 EL 表明式的值为 false 。

18.2fn:containsIgnoreCase 函数

       fn:containsIgnoreCase 函数用于剖断在源字符串中是还是不是带有指标字符串,何况在认清时大意大小写,其语法为:

       fn: containsIgnoreCase (String source,String target) -------boolean;

       以上 source 参数内定源字符串, target 参数内定指标字符串,重回类型为 boolean 。

       比如对于以下 EL 表达式:

              ${fn: containsIgnoreCase (“Tomcat”,”CAT”)}

${fn: containsIgnoreCase (“Tomcat”,”Mike”)}

       第八个 EL 表达式的值为 true ,第4个 EL 表达式的值为 false 。

18.3 fn:startsWith 函数

       fn:startsWith 函数用于剖断源字符串是不是以钦赐的靶子字符串开始,其语法为:

              fn:startsWith(String source,String target) ----boolean

       以上 source 参数钦命源字符串, target 参数钦赐目的字符串,重回类型为 boolean 。

       比如对于以下 EL 表达式:

              ${fn: startsWith (“Tomcat”,”Tom”)}

              ${fn: startsWith (“Tomcat”,”cat”)}

       第三个 EL 表明式的值为 true ,第叁个 EL 表明式的值为 false 。

18.4 fn:endsWith 函数

fn: endsWith 函数用于判别源字符串是不是以内定的靶子字符串结尾,其语法为:

              fn: endsWith (String source,String target) ----boolean

       以上 source 参数钦点源字符串, target 参数钦赐指标字符串,重临类型为 boolean 。

       比方对于以下 EL 表明式:

              ${fn: endsWith (“Tomcat”,”cat”)}

              ${fn: endsWith (“Tomcat”,”Tom”)}

       第一个 EL 表明式的值为 true ,首个 EL 表明式的值为 false 。

18.5 fn:indexOf 函数

       fn:indexOf 函数用于在源字符串中追寻指标字符串,并重回源字符串中第一与对象字符串相称的率先个字符的目录,假使在源字符串中不分包指标字符串,就回到 -1 ,源字符串中的第二个字符的目录为 0 。 fn:indexOf 函数的语法为:

              fn: indexOf (String source,String target) ----int

       以上 source 参数钦定源字符串, target 参数内定指标字符串,重回类型为 int 。

       比如对于以下 EL 表达式:

              1     ${fn: indexOf (“Tomcat”,”cat”)}<br/>

              2     ${fn: indexOf (“2211221”,”21”)} <br/>

              3     ${fn: indexOf (“Tomcat”,”Mike”)} <br/>

       其出口结果为:

              1     3

              2     1

              3     -1

18.6 fn:replace 函数

       fn:replace 函数用于把源字符串中的一片段替换为其余的字符串,并再次来到替换后的字符串。 fn:replace 函数的语法为:

              fn: replace (String source,String before,String after) ----String

       以上 source 参数钦点源字符串, before 参数钦赐源字符串中被轮换的子字符串, after 参数钦点用于替换的子字符串,重回类型为 String 。

       比如对于以下 EL 表明式:

              1     ${ fn: replace(“TomcAt”,”cAt”,”cat”)}<br/>

              2     ${ fn: replace(“2008/1/9”,”/”,”-”)}<br/>

       其出口结果为:

              1     Tomcat

              2     2008-1-9

18.7 fn:substring 函数

       fn:substring 函数用于获取源字符串中的特定子字符串,它的语法为:

              fn:substring(String source,int beginIndex,int endIndex) ------String

       以上 source 参数钦命源字符串, beginIndex 参数表示子字 符串中的第三个字符在源字符串中的索引,endIndex 参数表示子字符串的终极三个字符在源字符串中的索引加 1 ,重返类型为 String ,源 字符串中的第贰个字符的目录为 0 。

       比如对于以下 EL 表明式:

              1     ${ fn: substring (“Tomcat”,0,3)}<br/>

              2     ${ fn: substring (“Tomcat”,3,”6”)}<br/>

       其出口结果为:

              1     Tom

              2     cat

18.8 fn:substringBefore 函数

       fn:substringBefore 函数用于获取源字符串中钦点子字符串在此以前的子字符串,其语法为:

              fn:substringBefore(String source,String target) ----String

       以上 source 参数内定源字符串, target 参数钦点子字符串,重临类型为 String 。倘若在源字符串中不满含特定子字符串,就回来空字符串。

       比如对于以下 EL 表明式:

              1     ${ fn: substringBefore (“Tomcat”,”cat”)}<br/>

              2     ${ fn: substringBefore (“mydata.txt”,”.txt”)}<br/>

       其出口结果为:

              1     Tom

              2     mydata

18.9 fn:substringAfter 函数

       fn: substringAfter 函数用于获取源字符串中钦命子字符串之后的子字符串,其语法为:

              fn: substringAfter (String source,String target) ----String

       以上 source 参数内定源字符串, target 参数钦定子字符串,再次来到类型为 String 。假设在源字符串中不包括特定子字符串,就赶回空字符串。

       举例对于以下 EL 表明式:

              1     ${ fn: substringAfter (“Tomcat”,”Tom”)}<br/>

              2     ${ fn: substringAfter (“mydata.txt”,” mydata.”)}<br/>

       其出口结果为:

              1     cat

              2     txt

18.10 fn:split 函数

       fn:split 函数用于将源字符串拆分为八个字符串数组,其语法为:

              fn: split (String source,String delimiter) ----String[]

       以上 source 参数钦命源字符串, delimiter 参数钦赐用于拆 分源字符串的分隔符,重回类型为 String[] 。假设在源字符串中不含有 delimiter 参数内定的分隔符,或然 delimiter 参数 为 null ,那么在再次来到的字符串数组中唯有贰个因素,为源字符串。

       比如对于以下 EL 表明式:

              <c:set value=’${ fn: split (“www.mywebsite.org”,”.”)}’ var=”strs”/>

              <c:forEach var=”token” item=”${strs}”>

                     ${token}<br/>

              </c:forEach>

其出口结果为:

       www

       mywebsite

       org

再举个例子对于以下代码:

       <c:set value=’${ fn: split (“www.mywebsite.org”,”-”)}’ var=”strs”/>

${strs[0]}

其出口结果为:

       www.mywebsite.org

18.11 fn:join 函数

       fn:join 函数用于将源字符串数组中的全数字符串连接为二个字符串,其语法为:

              fn:join(String source[],String separator) ----String

       以上 source 参数钦点源字符串数组, separator 参数钦赐用于连接源字符串数组中的各样字符串的分隔符,重返类型为 String 。

       比如对于以下代码:

              <%

              String strs[] = {“www”,”mywebsite”,”org”};

%>

<c:set value=”<%=strs%>” var=”strs”/>

${fn:join(strs,”.”)}

       其出口结果为:

              www. mywebsite. org

18.12 fn:toLowerCase 函数

       fn:toLowerCase 函数用于将源字符串中的全数字符改为小写,其语法为:

              fn:toLowerCase(String source)  -----String

       以上 source 参数钦赐源字符串,重回类型为 String 。

       比方对于以下 EL 表达式:

              fn:toLowerCase(“TomCat”)

       其出口结果为:

              tomcat

18.13 fn:toUpperCase 函数

       fn: toUpperCase 函数用于将源字符串中的全部字符改为大写,其语法为:

              fn: toUpperCase (String source)  -----String

       以上 source 参数钦赐源字符串,重回类型为 String 。

       比如对于以下 EL 表达式:

              fn: toUpperCase (“TomCat”)

       其出口结果为:

              TOMCAT

18.14 fn:trim 函数

       fn:trim 函数用于将源字符串中的开首和尾声的空格删除,其语法为:

              fn:trim(String source) ----String

       以上 source 参数钦点源字符串,再次来到类型为 String 。

       举例对于以下 EL 表明式:

              fn:trim(“   Tomcat   ”)

       以上 EL 表明式的值为“ 汤姆cat ”。

18.15 fn:escapeXml 函数

       fn:escapeXml 函数用于将源字符串中的字符“ < ”、 “ > ”、“ ” ”和“ & ”等转移为转义字符,本书第 1 章的 1.2 节( HTML 简单介绍)介绍了转义字符的概 念。 fn:escapeXml 函数的行事与 <c:out> 标签的 escapeXml 属性为 true 时的转变行为相同, fn:escapeXml 函数的语法为:

       fn:escapeXml(String source) ----String

       以上 source 参数钦赐源字符串,重临类型为 String 。

       例程 18-1 的 out.jsp 演示了 fn:escapeXml 函数的用法。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

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

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

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>out</title>

</head>

<body>

1.${fn:escapeXml("<b> 表示粗体字 </b>") }<br/>

2.<c:out value="<b> 表示粗体字 </b>" escapeXml="true"></c:out><br/>

3.${"<b> 表示粗体字 </b>"}<br/>

</body>

</html>

 

       对于 out.jsp 中的以下代码:

              1.${fn:escapeXml("<b> 表示粗体字 </b>") }<br/>

2.<c:out value="<b> 表示粗体字 </b>" escapeXml="true"></c:out><br/>

3.${"<b> 表示粗体字 </b>"}<br/>

       其出口结果为:

              1.<b> 表示粗体字 </b><br/>

2.<b> 表示粗体字 </b><br/>

3.<b> 表示粗体字 </b><br/>

 

18.16 fn:length 函数

       fn:length 函数用于重返字符串中的字符的个数,恐怕聚众和数组的成分的个数,其语法为:

              fn:length(source) ---- int

       以上 source 参数可认为字符串、集结恐怕数组,重临类型为 int 。

     

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

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

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

<%@page import="java.util.ArrayList"%>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>length</title>

</head>

<body>

<%

int[] array = {1,2,3,4};

ArrayList list = new ArrayList();

list.add("one");

list.add("two");

list.add("three");

%>

<c:set value="<%=array%>" var="array"></c:set>

<c:set value="<%=list%>" var="list"></c:set>

数组长度: ${fn:length(array)}<br/>

集合长度: ${fn:length(list)}<br/>

字符串长度: ${fn:length("Tomcat")}<br/>

</body>

</html>

 

 

 

 

Functions 标签库概览

l  fn:contains 函数 : 用于剖断在源字符串中是或不是满含目的字符串。

l  fn:containsIgnoreCase 函数 : 用于判定在源字符串中是还是不是带有指标字符串 , 並且在认清时大意大小写。

l  fn:startsWith 函数 : 用于判定源字符串是还是不是以钦赐的对象字符串开端。

l  fn: endsWith 函数:用于判定源字符串是或不是以钦定的对象字符串结尾。

l  fn:indexOf 函数:用于在源字符串中检索指标字符串,并赶回源字符串中最初与对象字符串相称的首先个字符的目录。

l  fn:replace 函数:用于把源字符串中的一片段替换为另外的字符串,并回到替换后的字符串。

l  fn:substring 函数:用于获取源字符串中的特定子字符串。

l  fn:substringBefore 函数:用于获取源字符串中钦定子字符串此前的子字符串。

l  fn: substringAfter 函数:用于获取源字符串中钦命子字符串之后的子字符串

l  fn:split 函数:用于将源字符串拆分为多少个字符串数组。

l  fn:join 函数:用于将源字符串数组中的全部字符串连接为七个字符串。

l  fn:toLowerCase 函数:用于将源字符串中的全体字符改为小写。

l  fn: toUpperCase 函数:用于将源字符串中的全体字符改为大写。

l  fn:trim 函数:用于将源字符串中的开首和尾声的空格删除。

l  fn:escapeXml 函数:用于将源字符串中的字符“ < ”、“ > ”、“ ” ”和“ & ”等转移为转义字符。

l  fn:length 函数:用于再次来到字符串中的字符的个数,大概聚众和数组的因素的个数

《转自:

TAG标签:
版权声明:本文由990888藏宝阁发布于前端代码,转载请注明出处:jsp页面中jstl标签详解,I18N格式化标签库