c-fmt-fn标签用法

 

c-fmt-fn标签用法

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

Author:Marydon

一、参考链接

  http://blog.csdn.net/fmwind/article/details/46238485

 

二、概述

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)进行遍历或迭代控制。
  语法:

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

  举例:

<c:forEach var="row" items="${model.data}" varStatus="s">
  <i:tr onclick="javascript:RowSelect(this);">
    <!-- 利用索引号当行号 -->
    <i:td clazz="TableCellIndex"><c:out value="${s.index+1}"></c:out></i:td>
    <i:td>
      <fmt:formatDate value="${row.BEGINDATE}" pattern="yyyy-MM-dd" />
    </i:td>
    <i:td>${row.FMCARD}</i:td>
  </i:tr>    
</c:forEach>

  属性说明:

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

 

 

 

 

 

 

  

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

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

 

 

 

 

  

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

<c:forTokens items="${data.b04_02_05 }" delims="," var="num">
  <c:if test="${num==1}">无症状</c:if>
  <c:if test="${num==2}">多饮</c:if>
  <c:if test="${num==3}">多食</c:if>
  <c:if test="${num==4}">多尿</c:if>
  <c:if test="${num==5}">视力模糊</c:if>
  <c:if test="${num==6}">感染</c:if>
  <c:if test="${num==7}">手脚麻木</c:if>
  <c:if test="${num==8}">下肢浮肿</c:if>
  <c:if test="${num==9}">其他</c:if>
  <c:if test="${num==10}">体重明显下降</c:if>
</c:forTokens>

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

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

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

  语法2:

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

  举例:

<input name="FRCODENAME" value="<c:out value='${model.FRCODENAME}'/>" type="hidden">
<i:td><c:out value="${row.FMCARD}"></c:out></i:td>

  属性说明:

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

 

  

  

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

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

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

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

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

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

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

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

  举例: 

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

  与之对应的获取方式:

    EL表达式获取

${totalPrice2}

    小脚本获取 

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

  属性说明:

名称说明EL类型必须默认值
value要被储存的值YObjectN
var要存入的变量名称NStringN
scopevar变量的JSP范围NStringNpage
targetjavaBean或Map对象YObjectN
property指定target对象的属性YStringN

 

 

 

 

 

 

------------------------------------------------<c:remove></c:remove>标签------------------------------------------------
  用途:主要用来移除变量。
  语法:

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

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

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

<c:catch [var="varName"] > 
  … 欲抓取错误的部分 
</c:catch>

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

  用途:和我们一般在程序中用的if一样
  语法1:有本体内容(常用)

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

  语法2:没有本体内容

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

  举例: 

<!-- 如果问号传参的省级级别限制=1则选中“可报”;否则选中“不可报” -->
<option value="1" <c:if test="${param.FPROVLEVELLIMIT=='1'}">selected="selected"</c:if>>
  可报
</option>
<option value="0"
  <c:if test="${param.FPROVLEVELLIMIT=='0'}">selected="selected"</c:if>>
  不可报
</option>

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

  <c:if>标签的使用:
    实现当"${model.FLEVEL > 3}"时,input文本框添加点击事件

<!-- 方法一 -->
<input type="text" name="FORGNAME" id="FORGNAME" style="width: 100px;" class="TextBox" value="<c:out value="${model.FORGNAME}"/>" readonly="true"
  <c:if test="${model.FLEVEL > 3}">
    οnclick="policy.queryFORGINFO('${model.FORGID}',event)"/>
  </c:if>
/> 
<!-- 方法二 -->
<c:if test="${model.data.FLEVEL == 3}">
  <input class="TextBox" id="FORGIDNAME" readonly="readonly" value="<c:out value="${model.data.FORGNAME}"></c:out>"/>
</c:if> 
<c:if test="${model.data.FLEVEL != 3}">
  <input class="TextBox" id="FORGIDNAME" readonly="readonly" value="<c:out value="${model.data.FORGNAME}"></c:out>" 
    οnclick="tyearjcmpolset.queryFORGINFO('${model.data.FORGID}',event)" />
</c:if>

  注意:

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

  举例:

<c:choose>
  <c:when test="${score>=90"></c:when>
  <c:when test="${score>=60&&score<90}">及格</c:when>
  <c:otherwise>不及格</c:otherwise>
</c:choose>

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

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

//这种引用方式相当于采取了“绝对路径”的方式引用文件
<script type="text/javascript" src="<c:url value="/commons/js/util/drag.js"/>"></script>

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

  UpdateTime--2017年1月12日16:10:42
  综合运用一:<c:set>和<c:if>
    本页面设值

<c:if test="${param.type == '1'}">
  <c:set var="biaoti" scope="page">门诊补偿多功能查询</c:set> 
</c:if>
<c:if test="${param.type == '2'}">
  <c:set var="biaoti" scope="page">慢性病补偿多功能查询</c:set> 
</c:if>
<c:if test="${param.type == '3'}">
  <c:set var="biaoti" scope="page">门诊重大疾病补偿多功能查询</c:set> 
</c:if>
<c:if test="${param.type == '4'}">
  <c:set var="biaoti" scope="page">门诊日间手术补偿多功能查询</c:set> 
</c:if>

    优化:

<c:set var="biaoti" scope="page">
  <c:if test="${param.type == '1'}">
    门诊补偿多功能查询 
  </c:if>
  <c:if test="${param.type == '2'}">
    慢性病补偿多功能查询 
  </c:if>
  <c:if test="${param.type == '3'}">
    门诊重大疾病补偿多功能查询 
  </c:if>
  <c:if test="${param.type == '4'}">
    门诊日间手术补偿多功能查询 
  </c:if>
</c:set>

    本页面取值

${pageScope.biaoti}<!-- pageScope可加,可不加 -->

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

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

  例如:

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

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

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" 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></fmt:formatNumber>标签-------------------------------------

  用途:将数字格式化成数字,货币,百分比。
  此标签的属性:

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

 

 

 

 

 

 

 

 

 

 




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

<!-- 使显示的数据只保留两位小数 pattern="0.00"或"#0.00" -->
<fmt:formatNumber pattern="#0.00" value="456"></fmt:formatNumber>
  显示结果:456.00
<!-- 使显示的数据只保留整数 pattern="0"或"#0" -->
<fmt:formatNumber pattern="#0" type="number" value="456.57"></fmt:formatNumber>
  显示结果:457

---------------------------------------<fmt:parseNumber></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 (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

-----------------------------------------<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步:获取系统当前时间

<jsp:useBean id="now" class="java.util.Date"></jsp:useBean>

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

<fmt:formatDate value="<%=new Date()%>" type="both"/><br/>     <!-- 2016-9-29 10:14:35 -->
<fmt:formatDate value="${now}" type="date" dateStyle="default"/><br/>    <!-- 2016-9-29 -->
<fmt:formatDate value="${now}" type="date" dateStyle="short"/><br/>    <!-- 16-9-29 -->
<fmt:formatDate value="${now}" type="date" dateStyle="medium"/><br/>    <!-- 2016-9-29 -->
<fmt:formatDate value="${now}" type="date" dateStyle="long"/><br/>     <!-- 2016年9月29日 -->
<fmt:formatDate value="${now}" type="date" dateStyle="full"/><br/>     <!-- 2016年9月29日 星期四 -->

  <2>时间

<fmt:formatDate value="${now}" type="time"/><br/><!-- 10:14:35 -->
<fmt:formatDate value="${now}" type="time" timeStyle="default"/><br/>    <!-- 10:14:35 -->
<fmt:formatDate value="${now}" type="time" timeStyle="short"/><br/>     <!-- 上午10:14 -->
<fmt:formatDate value="${now}" type="time" timeStyle="medium"/><br/>    <!-- 10:14:35 -->
<fmt:formatDate value="${now}" type="time" timeStyle="long"/><br/>     <!-- 上午10时14分35秒 -->
<fmt:formatDate value="${now}" type="time" timeStyle="full"/><br/>     <!-- 上午10时14分35秒 CST -->

  <3>整合

<fmt:formatDate value="${now}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss"/><br/>
<!-- 星期四, 九月 29, 2016 10:14:35 -->
<fmt:formatDate value="${now}" type="both" pattern="d MMM yy, h:m:s a zzzz"/>
<!-- 29 九月 16, 10:14:35 上午 中国标准时间 -->

<script type="text/javascript"> var str='${h.createTime}'; document.write(str.split(" ")[0]);</script>

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

<c:set value="${fn:split("www.mywebsite.org",".")}" var="strs"/>
<c:forEach var="token" item="${strs}">
  ${token}<br/>
</c:forEach>

  输出结果为:
    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(字符串,指定字符)}

<c:if test="${fn:contains(data.b04_02_05,1)}">无症状</c:if>
<c:if test="${fn:contains(data.b04_02_05,2)}">多饮</c:if>
<c:if test="${fn:contains(data.b04_02_05,3)}">多食</c:if>
<c:if test="${fn:contains(data.b04_02_05,4)}">多尿</c:if>
<c:if test="${fn:contains(data.b04_02_05,5)}">视力模糊</c:if>
<c:if test="${fn:contains(data.b04_02_05,6)}">感染</c:if>
<c:if test="${fn:contains(data.b04_02_05,7)}">手脚麻木</c:if>
<c:if test="${fn:contains(data.b04_02_05,8)}">下肢浮肿</c:if>
<c:if test="${fn:contains(data.b04_02_05,9)}">其他</c:if>
<c:if test="${fn:contains(data.b04_02_05,10)}">体重明显下降</c:if>

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

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

<c:forTokens items="${data.b04_02_05 }" delims="," var="num">
  <c:choose>
     <c:when test="${num==1 }">无症状</c:when>
       <c:when test="${num==2 }">多饮</c:when>
       <c:when test="${num==3 }">多食</c:when>
       <c:when test="${num==4 }">多尿</c:when>
       <c:when test="${num==5 }">视力模糊</c:when>
       <c:when test="${num==6 }">感染</c:when>
       <c:when test="${num==7 }">手脚麻木</c:when>
       <c:when test="${num==8 }">下肢浮肿</c:when>
       <c:when test="${num==9 }">其他</c:when>
       <c:when test="${num==10 }">体重明显下降</c:when>
    </c:choose>
</c:forTokens>

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

<c:forEach items="${fn:split(data.b04_02_05,',')}" var="num">
  <c:choose>
     <c:when test="${num==1 }">无症状</c:when>
       <c:when test="${num==2 }">多饮</c:when>
       <c:when test="${num==3 }">多食</c:when>
       <c:when test="${num==4 }">多尿</c:when>
       <c:when test="${num==5 }">视力模糊</c:when>
       <c:when test="${num==6 }">感染</c:when>
       <c:when test="${num==7 }">手脚麻木</c:when>
       <c:when test="${num==8 }">下肢浮肿</c:when>
       <c:when test="${num==9 }">其他</c:when>
       <c:when test="${num==10 }">体重明显下降</c:when>
    </c:choose>
</c:forEach>

 相关推荐:

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值