EL 表达式中的函数

来源:互联网 发布:英创教育软件 编辑:程序博客网 时间:2024/05/10 06:58
Java代码  收藏代码
  1. 3.fn:contains 判断字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, searchString)}">      
  2. 4.fn:containsIgnoreCase 判断字符串是否包含另外一个字符串(大小写无关) <c:if test="${fn:containsIgnoreCase(name, searchString)}">      
  3. 5.fn:endsWith 判断字符串是否以另外字符串结束 <c:if test="${fn:endsWith(filename, ".txt")}">      
  4. 6.fn:escapeXml 把一些字符转成XML表示,例如 <字符应该转为&lt; ${fn:escapeXml(param:info)}      
  5. 7.fn:indexOf 子字符串在母字符串中出现的位置 ${fn:indexOf(name, "-")}      
  6. 8.fn:join 将数组中的数据联合成一个新字符串,并使用指定字符格开 ${fn:join(array, ";")}      
  7. 9.fn:length 获取字符串的长度,或者数组的大小 ${fn:length(shoppingCart.products)}      
  8. 10.fn:replace 替换字符串中指定的字符 ${fn:replace(text, "-""&#149;")}      
  9. 11.fn:split 把字符串按照指定字符切分 ${fn:split(customerNames, ";")}      
  10. 12.fn:startsWith 判断字符串是否以某个子串开始 <c:if test="${fn:startsWith(product.id, "100-")}">      
  11. 13.fn:substring 获取子串 ${fn:substring(zip, 6, -1)}      
  12. 14.fn:substringAfter 获取从某个字符所在位置开始的子串${fn:substringAfter(zip, "-")}      
  13. 15.fn:substringBefore 获取从开始到某个字符所在位置的子串 ${fn:substringBefore(zip, "-")}      
  14. 16.fn:toLowerCase 转为小写 ${fn.toLowerCase(product.name)}      
  15. 17.fn:toUpperCase 转为大写字符 ${fn.UpperCase(product.name)}      
  16. 18.fn:trim 去除字符串前后的空格 ${fn.trim(name)}    

 

 

 

 

称呼 Functions 标签库为标签库,倒不如称呼其为函数库来得更容易理解些。因为 Functions 标签库并没有提供传统的标签来为 JSP 页面的工作服务,而是被用于 EL 表达式语句中。在 JSP2.0 规范下出现的 Functions 标签库为 EL 表达式语句提供了许多更为有用的功能。 Functions 标签库分为两大类,共 16 个函数。 
长度函数: fn:length 
字符串处理函数: fn:contains 、 fn:containsIgnoreCase 、 fn:endsWith 、 fn:escapeXml 、 fn:indexOf 、 fn:join 、 fn:replace 、 fn:split 、 fn:startsWith 、 fn:substring 、 fn:substringAfter 、 fn:substringBefore 、 fn:toLowerCase 、 fn:toUpperCase 、 fn:trim 
以下是各个函数的用途和属性以及简单示例。 
9.7.1  长度函数 fn:length 函数 
     长度函数 fn:length 的出现有重要的意义。在 JSTL1.0 中,有一个功能被忽略了,那就是对集合的长度取值。虽然 java.util.Collection 接口定义了 size 方法,但是该方法不是一个标准的 JavaBean 属性方法(没有 get,set 方法),因此,无法通过 EL 表达式“ ${collection.size} ”来轻松取得。 
fn:length 函数正是为了解决这个问题而被设计出来的。它的参数为 input ,将计算通过该属性传入的对象长度。该对象应该为集合类型或 String 类型。其返回结果是一个 int 类型的值。下面看一个示例。 
<%ArrayList arrayList1 = new ArrayList(); 
                            arrayList1.add("aa"); 
                            arrayList1.add("bb"); 
                            arrayList1.add("cc"); 
%> 
<%request.getSession().setAttribute("arrayList1", arrayList1);%> 
${fn:length(sessionScope.arrayList1)} 
假设一个 ArrayList 类型的实例“ arrayList1 ”,并为其添加三个字符串对象,使用 fn:length 函数后就可以取得返回结果为“ 3 ”。 
9.7.2  判断函数 fn:contains 函数 
fn:contains 函数用来判断源字符串是否包含子字符串。它包括 string 和 substring 两个参数,它们都是 String 类型,分布表示源字符串和子字符串。其返回结果为一个 boolean 类型的值。下面看一个示例。 
${fn:contains("ABC", "a")}<br> 
${fn:contains("ABC", "A")}<br> 
前者返回“ false ”,后者返回“ true ”。 
9.7.3 fn:containsIgnoreCase 函数 
fn:containsIgnoreCase 函数与 fn:contains 函数的功能差不多,唯一的区别是 fn:containsIgnoreCase 函数对于子字符串的包含比较将忽略大小写。它与 fn:contains 函数相同,包括 string 和 substring 两个参数,并返回一个 boolean 类型的值。下面看一个示例。 
${fn:containsIgnoreCase("ABC", "a")}<br> 
${fn:containsIgnoreCase("ABC", "A")}<br> 
前者和后者都会返回“ true ”。 
9.7.4  词头判断函数 fn:startsWith 函数 
fn:startsWith 函数用来判断源字符串是否符合一连串的特定词头。它除了包含一个 string 参数外,还包含一个 subffx 参数,表示词头字符串,同样是 String 类型。该函数返回一个 boolean 类型的值。下面看一个示例。 
${fn:startsWith ("ABC", "ab")}<br> 
${fn:startsWith ("ABC", "AB")}<br> 
前者返回“ false ”,后者返回“ true ”。 
9.7.5  词尾判断函数 fn:endsWith 函数 
fn:endsWith 函数用来判断源字符串是否符合一连串的特定词尾。它与 fn:startsWith 函数相同,包括 string 和 subffx 两个参数,并返回一个 boolean 类型的值。下面看一个示例。 
${fn:endsWith("ABC", "bc")}<br> 
${fn:endsWith("ABC", "BC")}<br> 
前者返回“ false ”,后者返回“ true ”。 
9.7.6  字符实体转换函数 fn:escapeXml 函数 
fn:escapeXml 函数用于将所有特殊字符转化为字符实体码。它只包含一个 string 参数,返回一个 String 类型的值。 
9.7.8  字符匹配函数 fn:indexOf 函数 
fn:indexOf 函数用于取得子字符串与源字符串匹配的开始位置,若子字符串与源字符串中的内容没有匹配成功将返回“ -1 ”。它包括 string 和 substring 两个参数,返回结果为 int 类型。下面看一个示例。 
${fn:indexOf("ABCD","aBC")}<br> 
${fn:indexOf("ABCD","BC")}<br> 
前者由于没有匹配成功,所以返回 -1 ,后者匹配成功将返回位置的下标,为 1 。
${fn:substring(str,0,3)}此函数为截取字符串的函数

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 转店被中介骗了怎么办? 被转店平台骗了怎么办 海信电视很暗怎么办 淘新闻账号冻结怎么办 黑号抽不中天猫购物券怎么办 退款后购物津贴怎么办 天猫优惠券过期怎么办 淘宝店复核不过怎么办 房产新人没客源怎么办 淘宝商品被监管怎么办 天猫店铺监管怎么办 普票超额了怎么办 开票金额超过限额怎么办 淘宝拉入黑名单怎么办 淘宝卖食品证件怎么办 京东额度不够怎么办 天猫盒子内存不足怎么办 10086办无限流量怎么办 天猫营业额不够怎么办 试电笔电阻坏了怎么办 父子间车辆过户怎么办 房子卖了天然气怎么办 社保这个月没扣怎么办 员工不交社保怎么办 公司没交社保怎么办 微信转账受限怎么办 支付宝违规限制怎么办 微信转账不还钱怎么办 碳放久了不爱起火怎么办 闻碳火时间久了怎么办 被代运营诈骗怎么办 被上海聚连骗了怎么办? 蓝领贷逾期半年怎么办 淘宝店倒闭售后怎么办 淘宝店铺宝贝被下架怎么办 医院被托管编制怎么办 领码分百万账号异常怎么办 拼多多帐号异常怎么办 qq钱包交易异常怎么办 托管公司跑了怎么办? 花呗退款没到账怎么办