博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c-fmt-fn标签用法
阅读量:6817 次
发布时间:2019-06-26

本文共 17784 字,大约阅读时间需要 59 分钟。

 

c-fmt-fn标签用法

CreateTime--2017年1月6日15:48:43

Author:Marydon

一、参考链接

  

 

二、概述

JSLT标签库

  全名为JavaServer Pages Standard Tag Library,它主要提供给Java Web开发人员一个标准通用的标签函数库。
  Web程序员能够利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序的阅读性、维护性和方便性
  注意:
    在eclipse中使用,需添加JSLT jar包:jstl.jar和standard.jar
  JSP页面常用的三个JSLT标签

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

三、<c:> 核心标签库

  在JSP页面中要使用到核心标签,需要引入下面的语句:

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

  JSTL 核心标签库(C标签)标签共有13个,功能上分为4类:

    1.表达式控制标签:out、set、remove、catch
    2.流程控制标签:if、choose、when、otherwise
    3.循环标签:forEach、forTokens
    4.URL操作标签:import、url、redirect
    注意:
      标签属性默认值不为空的,即使不声明,系统也会默认的给该标签添加上该属性,要想改变默认的属性对应的值,需声明属性并赋值
---------------------------------------------------<c:forEach></c:forEach>---------------------------------------------------
  用途:对集合(Collection)进行遍历或迭代控制。
  语法:

本体内容

  举例:

  
    
    
    
      
    
    
${row.FMCARD}
  

  属性说明:

名称 说明 EL 类型 必须 默认值
var  存放现在所指的成员 N  String N
items 被迭代的集合对象 Y Arrays,Collection,Iterator,Enumeration,Map,String N
varStatus 存放现在所指的相关成员信息 N String N
begin 指定迭代的开始位置 Y int N 0
end 指定迭代的结束位置 Y int N 最后一个成员
step 每次迭代的间隔数 Y int N 1

 

 

 

 

 

 

  

  其中,varStatus属性提供了另外四个属性:index,count,fist和last,说明如下:

 名称  类型  说明
 index  number  现在指到的成员的索引(索引号从"0"开始)
 count  number  总共指到的成员的总和
 first  boolean  现在指到的成员是否为第一个
last boolean 现在指到的成员是否为最后一个

 

 

 

 

  

  UpdateTime--2017年3月3日11:12:13

  AddContent:新增<c:forTokens></c:forTokens>标签用法
-----------------------------------------<c:forTokens></c:forTokens>标签---------------------------------------------------
  <c:forTokens>的用法和<c:forEach>用法一样,不同的就是:该标签比forEach标签多一个属性"delims",可以使用指定分隔符对字符串进行分割,可同时拥有多个分割字符,如:要按"|"和","进行分割,则写成delims="|,"
  举例:

  
无症状
  
多饮
  
多食
  
多尿
  
视力模糊
  
感染
  
手脚麻木
  
下肢浮肿
  
其他
  
体重明显下降

----------------------------------------------------<c:out></c:out>标签----------------------------------------------------

  用途:主要用来显示数据的内容

  语法1:

  语法2:

default value

  举例:

  属性说明:

名称 类型 说明 默认值
escapeXml boolean 将<、>、’、” 和 & 转换为&lt;、&gt;、&#039;、&#034; 和&amp; true
default Object 如果value的值不存在时,会输出默认值

 

  

  

注意:

   <c:out>默认会将"<"、">"、空格和"&"等转换为转义字符: &lt;、&gt;、&#039;、&#034; 和&amp;。假若不想转换时,需要声明<c:out>的escapeXml属性为fasle
------------------------------------------------------------<c:set></c:set>标签--------------------------------------------
  用途:主要用来将变量储存至JSP范围中或是JavaBean的属性中。
  语法1:将value的值储存至范围为scope的 varName 变量之中

  语法2:将本体内容的数据储存至范围为scope的 varName 变量之中

  … 本体内容

  语法3:将 value的值储存至 target 对象的属性中

  语法4:将本体内容的数据储存至target 对象的属性中

… 本体内容

  举例: 

${totalPrice+row.FMONEY}
相当于使用“小脚本赋值”<%  request.setAttribute("totalPrice2","${totalPrice+row.FMONEY}");%>

  与之对应的获取方式:

    EL表达式获取

${totalPrice2}

    小脚本获取 

<%  String value = request.getAttribute("totalPrice2");%>

  属性说明:

名称 说明 EL 类型 必须 默认值
value 要被储存的值 Y Object N
var 要存入的变量名称 N String N
scope var变量的JSP范围 N String N page
target javaBean或Map对象 Y Object N
property 指定target对象的属性 Y String N

 

 

 

 

 

 

------------------------------------------------<c:remove></c:remove>标签------------------------------------------------

  用途:主要用来移除变量。
  语法:

--------------------------------------------------<c:catch></c:catch>标签--------------------------------------------------

  用途:主要用来处理产生错误的异常状况,并且将错误信息储存起来。

  语法:

  … 欲抓取错误的部分

------------------------------------------------------<c:if></c:if>标签------------------------------------------------------

  用途:和我们一般在程序中用的if一样

  语法1:有本体内容(常用)

  本体内容

  语法2:没有本体内容

  举例: 

  CreateTime--2016年12月20日19:39:27

  <c:if>标签的使用:

    实现当"${model.FLEVEL > 3}"时,input文本框添加点击事件

" readonly="true"  
    οnclick="policy.queryFORGINFO('${model.FORGID}',event)"/>  
/>
  
"/>
  
"     οnclick="tyearjcmpolset.queryFORGINFO('${model.data.FORGID}',event)" />

  注意:

    <c:if>标签可以直接用在input的标签上,做好格式化即可

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

  举例:

  
  
及格
  
不及格

----------------------------------------------------<c:url></c:url>标签-----------------------------------------------------

  用途:获取项目的根路径

  语法:
    <c:url value="路径"/>
  注意:
    value的值不能为空,且要以"/"开头
  举例:

//这种引用方式相当于采取了“绝对路径”的方式引用文件">

----------------------------------------------------------综合运用----------------------------------------------------------

  UpdateTime--2017年1月12日16:10:42

  综合运用一:<c:set>和<c:if>
    本页面设值

  
门诊补偿多功能查询
  
慢性病补偿多功能查询
  
门诊重大疾病补偿多功能查询
  
门诊日间手术补偿多功能查询

    优化:

  
    门诊补偿多功能查询   
  
    慢性病补偿多功能查询   
  
    门诊重大疾病补偿多功能查询   
  
    门诊日间手术补偿多功能查询   

    本页面取值

${pageScope.biaoti}

四、<fmt:>格式化标签库

  JSTL格式化标签又称为I18N标签库,主要用来编写国际化的WEB应用,使用此功能可以对一个特定的语言请求做出合适的处理

  例如:

    中国内地用户将显示简体中文,台湾地区则显示繁体中文,使用I18N格式化标签库还可以格式化数字和日期,例如同一数字或日趋,在不同国家可能有不同的格式,使用I18N格式标签库可以将数字和日期格式为当地的格式。

  在JSP页面中要使用到格式化标签,需要引入下面的语句:

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

  格式化标签

  国际化标签

--------------------------------------<fmt:formatNumber></fmt:formatNumber>标签-------------------------------------

  用途:将数字格式化成数字,货币,百分比。

  此标签的属性:

属性名 作用
value 要格式化的数字
type 按照什么类型格式化,number(数字,默认值),currency(货币),percent(百分比)
pattern 自定义格式化样式
maxIntegerDigits 整数部分最多显示多少位
mixIntegerDigits 整数部分最少显示多少位
maxFractionDigits 小数部分最多显示多少位
minFractionDigits 小数部分最少显示多少位
var 存储格式化后的结果
currencyCode ISO-4721货币代码,只适用于按照货币格式化的数字
currencySymbol 货币符号,如¥,只适用于按照货币格式化的数字
groupingUsed 是否包含分隔符
scope 存储的范围

 

 

 

 

 

 

 

 

 

 

  注意:

    格式化会遵循四舍五入的原则
  举例:

  显示结果:456.00
  显示结果:457

---------------------------------------<fmt:parseNumber></fmt:parseNumber>标签--------------------------------------

  用途:此标签用来将字符串类型的数字,货币或百分比转换成数字类型,和<fmt:formatNumber>标签的作用正好相反.
  此标签的属性:

属性名 作用
value 要转换的字符串
type 指定要转换的字符串为什么类型,可取值:number,percent,currency
pattern 自定义格式化样式
parseLocale 指定区域来转换字符串
IntegerOnly 转换后的数字是否只显示整数部分
var 存储转换后的结果
scope 存储的范围

 

 

 

 

 

 

示例1:  
  显示: 500800200示例2:  
  显示: 0.52 (52%在这里是一个字符串, type指定这个字符串是什么类型的值)示例3:  
  显示:123, ¥123在这里是一个字符串, type指定这个字符串是什么类型的值示例4:  
  
  显示:    123.333    123

-----------------------------------------<fmt:formatDate></fmt:formatDate>标签---------------------------------------

  用途:此标签可以将日期格式化
  属性介绍:

属性名 作用
value 用来格式化的时间或日期
type 指定格式化的是日期还是时间,或者两者都是取值范围:date,time,both
pattern 自定义格式化样式
dateStyle 日期的格式化样式,取值:default, short, medium, long, full
timeStyle 时间的格式化样式,取值:default, short, medium, long, full
timeZone 指定使用的时区,取值:EST, CST, MST, PST
var 存储格式化后的结果
scope 指定存储的范围

 

 

 

 

 

 

 

 

  注意:

    1.type属性的可取值及意义:
      date 只格式化日期部分
      time 只格式化时间部分
      both 格式化日期和时间
    2.hh表示12小时制, HH代表24小时制
  CreateTime--2016年9月29日10:22:11
  用法:
  第2步:获取系统当前时间

  第3步:使用<fmt:formatDate/>标签进行格式化

  <1>日期

  <2>时间

  <3>整合

------------------------------------------<fmt:parseDate></fmt:parseDate>标签-----------------------------------------

  用途:将字符串类型的时间转换为日期类型
  属性介绍:

属性名 作用
value 用来格式化的时间或日期
type 指定格式化的是日期还是时间,或者两者都是取值范围:date,time,both
pattern 自定义格式化样式
dateStyle 日期的格式化样式,取值:default, short, medium, long, full
timeStyle 时间的格式化样式,取值:default, short, medium, long, full
timeZone 指定使用的时区,取值:EST, CST, MST, PST
var 存储格式化后的结果
scope 指定存储的范围

 

 

 

 

 

 

 

 

---------------------------------------<fmt:setTimeZone></fmt:setTimeZone>标签--------------------------------------

  用途:设定默认时区
  属性介绍:

属性 作用
value 设定时区,取值:EST,CST,MST,PST
var 存储设定的时区
scope 存储的范围

 

 

 

-------------------------------------------<fmt:timeZone></fmt:timeZone>标签-----------------------------------------

  用途:用来暂时设置时区
  属性介绍:

属性 作用
value 设定时区,取值:EST,CST,MST,PST

 

 

  注意:
    此标签的时区只是部分,在标签开始至标签结束内有效,其它地方无效,其它地方还是会使用默认时区


五、<fn:> Function标签库

  JSTL Functions 标签库中提供了一组常用的EL函数,主要用于处理字符串,在JSP中可以直接使用这些函数。

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

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

-----------------------------------------------------fn:contains 函数-----------------------------------------------------

  用途:判断在源字符串中是否包含目标字符串
  语法:
    fn:contains(String source,String target) -------boolean;
    source -->指定源字符串;
    target -->指定目标字符串;
    返回类型为 boolean.
  举例:
    ${fn:contains("Tomcat","cat")} -->结果:true
    ${fn:contains("Tomcat","CAT")} -->结果:false
------------------------------------------------fn:containsIgnoreCase 函数----------------------------------------------
  用途:判断在源字符串中是否包含目标字符串,并且在判断时忽略大小写
  语法:
    fn: containsIgnoreCase (String source,String target) -------boolean;
    source -->指定源字符串;
    target -->指定目标字符串;
    返回类型为 boolean.
  举例:
    ${fn:containsIgnoreCase("Tomcat","CAT")} -->结果:true
    ${fn:containsIgnoreCase("Tomcat","Mike")} -->结果:false
----------------------------------------------------fn:startsWith 函数---------------------------------------------------
  用途:判断源字符串是否以指定的目标字符串开头
  语法:
    fn:startsWith(String source,String target) -------boolean;
    source -->指定源字符串;
    target -->指定目标字符串;
    返回类型为 boolean.
  举例:
    ${fn:startsWith("Tomcat","Tom")} -->结果:true
    ${fn:startsWith("Tomcat","Mike")} -->结果:false
-----------------------------------------------------fn:endsWith 函数---------------------------------------------------
  用途:判断源字符串是否以指定的目标字符串结尾
  语法:
    fn:endsWith(String source,String target) -------boolean;
    source -->指定源字符串;
    target -->指定目标字符串;
    返回类型为 boolean.
  举例:
    ${fn:endsWith("Tomcat","cat")} -->结果:true
    ${fn:endsWith("Tomcat","Tom")} -->结果:false
----------------------------------------------------fn:indexOf 函数------------------------------------------------------
  用途:在源字符串中查找目标字符串,并返回源字符串中最先与目标字符串匹配的第一个字符的索引,如果在源字 符串中不包含目标字符串,就返回 -1 ,源字符串中的第一个字符的索引为 0 。
  语法:
    fn:indexOf(String source,String target) -------int;
    source -->指定源字符串;
    target -->指定目标字符串;
    返回类型为 int.
  举例:
    ${fn:indexOf("Tomcat","cat")} -->结果: 3
    ${fn:indexOf("2211221","21")} -->结果: 1
    ${fn:indexOf("Tomcat","Mike")} -->结果:-1
-----------------------------------------------------fn:replace 函数-----------------------------------------------------
  用途:把源字符串中的一部分替换为另外的字符串,并返回替换后的字符串。
  语法:
    fn:replace(String source,String before,String after) -------String;
    source -->指定源字符串;
    before -->指定源字符串中要被替换的子字符串;
    after -->指定用于替换的子字符串
    返回类型为 String.
  举例:
    ${fn:replace("TomcAt","cAt","cat")} -->结果:"Tomcat"
    ${fn:replace("2008/1/9","/","-")} -->结果:"2008-1-9"
----------------------------------------------------fn:substring 函数---------------------------------------------------
  用途:获取源字符串中的特定子字符串
  语法:
    fn:substring(String source,int beginIndex,int endIndex) -------String;
    source -->指定源字符串;
    beginIndex -->表示子字符串中的第一个字符在源字符串中的索引;
    endIndex -->表示子字符串的最后一个字符在源字符串中的索引加 1;
    返回类型为 String
  注意:
    1.源字符串中的第一个字符的索引为 0 ;
    2.左包含,右不包含,即:[beginIndex,endIndex)
  举例:
    ${fn:substring(row.FITEMNAME,0,10)} -->截取的是前10个字符,即[0,10)
    ${fn:substring("Tomcat",0,3)} -->结果:"Tom"
    ${fn:substring("Tomcat",3,6)} -->结果:"cat"
-------------------------------------------------fn:substringBefore 函数-----------------------------------------------
  用途:获取源字符串中指定目标子字符串之前的子字符串
  语法:
    fn:substringBefore(String source,String target) -------String;
    source -->指定源字符串;
    target -->指定目标子字符串;
    返回类型为 String
  注意:
    如果在源字符串中不包含特定子字符串,就返回空字符串。
  举例:
    ${fn:substringBefore("Tomcat","cat")} -->结果:"Tom"
    ${fn:substringBefore("mydata.txt",".txt")} -->结果:"mydata"
--------------------------------------------------fn:substringAfter 函数-------------------------------------------------
  用途:获取源字符串中指定目标子字符串之后的子字符串
  语法:
    fn:substringAfter(String source,String target) -------String;
    source -->指定源字符串;
    target -->指定目标子字符串;
    返回类型为 String
  注意:
    如果在源字符串中不包含特定子字符串,就返回空字符串。
  举例:
    ${fn:substringAfter("Tomcat","cat")} -->结果:""
    ${fn:substringAfter("mydata.txt","mydata.")} -->结果:"txt"
-------------------------------------------------------fn:split 函数------------------------------------------------------
  用途:将源字符串拆分为一个字符串数组
  语法:
    fn:split(String source,String delimiter) -------String[];
    source -->指定源字符串;
    delimiter -->指定用于拆分源字符串的分隔符;
    返回类型为 String[]
  注意:
    如果在源字符串中不包含delimiter参数指定的分隔符,或 delimiter参数为 null ,那么在返回的字符串数组中只有一个元素,为源字符串。
  举例1:

  ${token}

  输出结果为:

    www
    mywebsite
    org
  举例2:
    <c:set value="${fn:split("www.mywebsite.org","-")}" var="strs"/>
    ${strs[0]}
  输出结果为:
    www.mywebsite.org
-------------------------------------------------------fn:join 函数-----------------------------------------------------
  用途:将源字符串数组中的所有字符串连接为一个字符串
  语法:
    fn:join(String source[],String separator) -------String;
    source[] -->指定源字符串;
    separator -->指定用于连接源字符串数组中的各个字符串的分隔符;
    返回类型为 String
  举例:
    <c:set value="{"www","mywebsite","org"}" var="strs"/>
    ${fn:join(strs,".")}
  输出结果为:
    www.mywebsite.org
--------------------------------------------------fn:toLowerCase 函数-------------------------------------------------
  用途:将源字符串中的所有字符改为小写
  语法:
    fn:toLowerCase(String source) -------String;
    source -->指定源字符串;
    返回类型为 String
  举例:
    fn:toLowerCase("TomCat") -->结果:"tomcat"
--------------------------------------------------fn:toUpperCase 函数-------------------------------------------------
  用途:将源字符串中的所有字符改为大写
  语法:
    fn:toUpperCase(String source) -------String;
    source -->指定源字符串;
    返回类型为 String
  举例:
    fn:toLowerCase("TomCat") -->结果:"TOMCAT"
----------------------------------------------------------fn:trim 函数--------------------------------------------------
  用途:将源字符串中的开头和末尾的空格删除
  语法:
    fn:trim(String source) -------String;
    source -->指定源字符串;
    返回类型为 String
  举例:
    fn:trim(" Tom Cat ") -->结果:"Tom Cat"
---------------------------------------------------fn:escapeXml 函数--------------------------------------------------
  用途:将源字符串中的字符"<"、">"、空格和"&"等转换为转义字符,fn:escapeXml 函数的行为与 <c:out> 标签的 escapeXml 属性为 true 时的转换行为相同
  语法:
    fn:escapeXml(String source) -------String;
    source -->指定源字符串;
    返回类型为 String
  举例:
    ${fn:escapeXml("<b>表示粗体字</b>")} -->结果:&lt;b&gt;表示粗体字&lt;/b&gt;
    <c:out value="<b>表示粗体字</b>"></c:out> -->结果:&lt;b&gt;表示粗体字&lt;/b&gt;
    ${"<b>表示粗体字</b>"} -->结果:<b>表示粗体字</b>
-----------------------------------------------------fn:length 函数----------------------------------------------------
  用途:返回字符串中的字符的个数,或者集合和数组的元素的个数
  语法:
    fn:escapeXml(source) -------int;
    source -->字符串、集合或者数组;
    返回类型为 int
  举例:
    数组长度: ${fn:length(array)}
    集合长度: ${fn:length(list)}
    字符串长度: ${fn:length("Tomcat")}   

  小结:

    fn:containsIgnoreCase 函数 : 用于判断在源字符串中是否包含目标字符串 , 并且在判断时忽略大小写。

    fn:startsWith 函数 : 用于判断源字符串是否以指定的目标字符串开头。

    fn: endsWith 函数: 用于判断源字符串是否以指定的目标字符串结尾。

    fn:indexOf 函数: 用于在源字符串中查找目标字符串,并返回源字符串中最先与目标字符串匹配的第一个字符的索引。

    fn:replace 函数: 用于把源字符串中的一部分替换为另外的字符串,并返回替换后的字符串。

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

    fn:substringBefore 函数: 用于获取源字符串中指定子字符串之前的子字符串。

    fn: substringAfter 函数: 用于获取源字符串中指定子字符串之后的子字符串

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

    fn:join 函数: 用于将源字符串数组中的所有字符串连接为一个字符串。

    fn:toLowerCase 函数: 用于将源字符串中的所有字符改为小写。

    fn: toUpperCase 函数: 用于将源字符串中的所有字符改为大写。

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

    fn:escapeXml 函数: 用于将源字符串中的字符"<"、">"、空格和"&"等转换为转义字符。

    fn:length 函数: 用于返回字符串中的字符的个数,或者集合和数组的元素的个数

 

六、实际运用:

UpdateTime--2017年3月3日11:55:32

1.EL表达式获取得到的值:1,2,3,4,根据指定字符显示不同内容

  方式一:使用${fn:contains(字符串,指定字符)}

无症状
多饮
多食
多尿
视力模糊
感染
手脚麻木
下肢浮肿
其他
体重明显下降

  UpdateTime--2017年3月8日21:46:39

  方式二:使用<c:forTokens></c:forTokens>标签实现

  
  
无症状
多饮
多食
多尿
视力模糊
感染
手脚麻木
下肢浮肿
其他
体重明显下降

  方式三:使用${fn:split("字符串","分隔符")}

  
  
无症状
多饮
多食
多尿
视力模糊
感染
手脚麻木
下肢浮肿
其他
体重明显下降

 相关推荐:

 

 

转载地址:http://kzdzl.baihongyu.com/

你可能感兴趣的文章
关于LittleSis网站数据API的简单整理
查看>>
虚函数的实现
查看>>
【原】Oracle 数据库实例启动过程
查看>>
上传文件和导出的测试用例设计
查看>>
程序员为何如此累
查看>>
ajax(异步页面动态刷新)
查看>>
关于JQuery的选择器
查看>>
Java和C++的区别
查看>>
git工作区和暂存区
查看>>
C函数调用与栈
查看>>
SQL优化小技巧
查看>>
UVALive 4850 Installations 贪心
查看>>
JS 中刷新页面的方法
查看>>
励志帝马云是不是你的财富导师?
查看>>
力扣算法题—088合并两个有序数组
查看>>
APP和web设计区别
查看>>
三层fragment嵌套,接口回调方式
查看>>
sfcapd服务新增nfdump安装
查看>>
Node.js:DNS模块的使用
查看>>
C指针函数中的局部变量返回
查看>>