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 | 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: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>
属性说明:
名称 | 类型 | 说明 | 默认值 |
escapeXml | boolean | 将<、>、’、” 和 & 转换为<、>、'、" 和& | true |
default | Object | 如果value的值不存在时,会输出默认值 | 无 |
注意:
<c:out>默认会将"<"、">"、空格和"&"等转换为转义字符: <、>、'、" 和&。假若不想转换时,需要声明<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 | 要被储存的值 | 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: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}">
- onclick="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>"
- onclick="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 | 存储格式化后的结果 |
currencyCode | ISO-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>")} -->结果:<b>表示粗体字</b>
<c:out value="<b>表示粗体字</b>"></c:out> -->结果:<b>表示粗体字</b>
${"<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>
相关推荐:
c-fmt-fn标签用法的更多相关文章
- jQuery中$.fn的用法示例介绍
$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效,下面有个不错的示例,喜欢的朋友可以参考下 如扩展$.fn.abc(),即$.fn.abc()是对jquery ...
- JSTL函数标签库 fn标签
JSTL函数标签库 fn标签 在使用jstl的函数标签库之前需要在页面中引入: <%@ taglib prefix="fn" uri="http://java.su ...
- <fmt:formatDate>标签的输出格式:
<fmt:formatDate>标签的输出格式: d 月中的某一天.一位数的日期没有前导零. dd 月中的某一天.一位数的日期有一个前导零. ddd 周中 ...
- H5 新标签用法及解释
HTML 5 是一个新的网络标准,目标在于取代现有的 HTML 4.01, XHTML 1.0 and DOM Level 2 HTML 标准.它希望能够减少浏览器对于需要插件的丰富性网络应用服务(p ...
- 【JSP】<meta>标签用法
转载自:http://blog.sina.com.cn/s/blog_65c74cce0102v39z.html 非常感谢这位博主,急着用,改日再细细品味重新整理这篇博文. http-equiv M ...
- Web前端设计:Html强制不换行<nobr>标签用法代码示例
在网页排版布局中比如文章列表标题排版,无论多少文字均不希望换行显示,需要强制在一行显示完内容.这就可以nobr标签来实现.它起到的作用与word-break:keep-all 是一样的.nobr 是 ...
- JAVA中的break[标签]continue[标签]用法
原文:JAVA中的break[标签]continue[标签]用法 注意:JAVA中的标签必须放在循环之前,且中间不能有其他语句.例如:tag:for或while或do--while; 1.使用brea ...
- Thinkphp中的内置标签用法
Thinkphp中的内置标签有:Volist,Foreach,For,Switch,比较标签,范围判断标签,IF,Present,Empty,Defined,Assign,Define,标签嵌套,im ...
- ThinkPHP模板IF标签用法详解
投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-07-01 我要评论 这篇文章主要介绍了ThinkPHP模板IF标签用法,需要的朋友可以参考下 ThinkPHP的IF标 ...
随机推荐
- 《C预处理》Linux内核中可变参数宏的用法
http://blog.csdn.net/tankai19880619/article/details/12015305
- C#遍历系统所安装的打印机,使用WMI方式获取打印机的所有属性
有网友发消息来询问,C#如何遍历系统已经安装的所有打印机,并获得每个打印机的相关信息,如:端口,名称等等 C#里面,虽然在 System.Drawing.Printing 这个namespace下,提 ...
- 在Windows下编译Emacs
在Windows下编译Emacs Windows下编译好的Emacs主要有两个版本,一个来自http://nqmacs.sourceforge.net/,另一个来自http://www.crasseu ...
- 算法:优先级队列(PriorityQueue)
背景 此文给出基于已排序数组的实现,多数情况应该基于 Heap 进行实现,因为数组的插入效率为O(n),而 Heap 的插入效率为 Log(n). PriorityQueue 代码 using Sys ...
- Struts2 S标签 数目字格式化成金额输出(保留两位小数)
JSP: <s:property value="%{formatDouble(price)}" /> Action:添加 //格式化数字显示 public String ...
- [3] 球(Sphere)图形的生成算法
顶点数据的生成 bool YfBuildSphereVertices ( Yreal radius, Yuint slices, Yuint stacks, YeOriginPose originPo ...
- uva 10160 Servicing Stations(DFS+剪枝)
Servicing stations A company offers personal computers for sale in N towns (3 <= N <= 35). The ...
- 局域网Cesium离线影像及瓦片影像地图加载【转】
http://www.mamicode.com/info-detail-2161992.html 1.Cesium简介 优点: cesium展示地图数据效果比较好,解析2D地图各种不同服务类型的数据源 ...
- [模仿微软Live.cn]JavaScript输入邮箱自动提示
原理是:在一个输入框 中,当我输入任何字的时候 自动下拉相应的邮箱提示,在输入框输入123的时候 下拉框有所有123的邮箱 输入其他的时候 有其他文案对应的邮箱. 同理 此插件不需要任何html标签, ...
- (step4.1.2)hdu 1969(Pie——二分查找)
题目大意:n块馅饼分给m+1个人,每个人的馅饼必须是整块的,不能拼接,求最大的. 解题思路: 1)用总饼的体积除以总人数,得到每个人最大可以得到的V.但是每个人手中不能有两片或多片拼成的一块饼. 代码 ...