JSTL 使用表达式来简化页面的代码,这对一些标准的方法,例如bean的getter/setter方法,请求参数或者context以及session中的数据的访问非常方便,但是我们在实际应用中经常需要在页面调用对象的某些方法,例如我需要调用字符串的length方法来获取字符串的长度时,在以往的开发过程中我们必须把对象先转为String类,然后在调用其length方法,这样的代码繁琐而且容易出错。

因此JSTL内置了几个用于字符串操作的方法,可以直接在表达式中使用,大大的简化了代码,提供代码的可读性。在JSTL的表达是中要使用一个函数,其格式如下

      ${ns:methodName(args....)}

在使用这些函数之前必须在JSP中引入标准函数的声明

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

下面是JSTL中自带的方法列表以及其描述

函数名 函数说明 使用举例
fn:contains 判断字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, searchString)}">
fn:containsIgnoreCase 判断字符串是否包含另外一个字符串(大小写无关) <c:if test="${fn:containsIgnoreCase(name, searchString)}">
fn:endsWith 判断字符串是否以另外字符串结束 <c:if test="${fn:endsWith(filename, ".txt")}">
fn:escapeXml 把一些字符转成XML表示,例如<字符应该转为&lt; ${fn:escapeXml(param:info)}
fn:indexOf 子字符串在母字符串中出现的位置 ${fn:indexOf(name, "-")}
fn:join 将数组中的数据联合成一个新字符串,并使用指定字符格开 ${fn:join(array, ";")}
fn:length 获取字符串的长度,或者数组的大小 ${fn:length(shoppingCart.products)}
fn:replace 替换字符串中指定的字符 ${fn:replace(text, "-", "•")}
fn:split 把字符串按照指定字符切分 ${fn:split(customerNames, ";")}
fn:startsWith 判断字符串是否以某个子串开始 <c:if test="${fn:startsWith(product.id, "100-")}">
fn:substring 获取子串 ${fn:substring(zip, 6, -1)}
fn:substringAfter

获取从某个字符所在位置开始的子串

${fn:substringAfter(zip, "-")}
fn:substringBefore 获取从开始到某个字符所在位置的子串 ${fn:substringBefore(zip, "-")}
fn:toLowerCase 转为小写 ${fn.toLowerCase(product.name)}
fn:toUpperCase 转为大写字符 ${fn.UpperCase(product.name)}
fn:trim 去除字符串前后的空格 ${fn.trim(name)}

函数

描述

fn:contains(string, substring)

如果参数string中包含参数substring,返回true

fn:containsIgnoreCase(string, substring)

如果参数string中包含参数substring(忽略大小写),返回true

fn:endsWith(string, suffix)

如果参数 string 以参数suffix结尾,返回true

fn:escapeXml(string)

将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回

fn:indexOf(string, substring)

返回参数substring在参数string中第一次出现的位置

fn:join(array, separator)

将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。

fn:length(item)

返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。

fn:replace(string, before, after)

返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果

fn:split(string, separator)

返回一个数组,以参数separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素

fn:startsWith(string, prefix)

如果参数string以参数prefix开头,返回true

fn:substring(string, begin, end)

返回参数string部分字符串, 从参数begin开始到参数end位置,包括end位置的字符

fn:substringAfter(string, substring)

返回参数substring在参数string中后面的那一部分字符串

fn:substringBefore(string, substring)

返回参数substring在参数string中前面的那一部分字符串

fn:toLowerCase(string)

将参数string所有的字符变为小写,并将其返回

fn:toUpperCase(string)

将参数string所有的字符变为大写,并将其返回

fn:trim(string)

去除参数string 首尾的空格,并将其返回

jstl fn 函数相关推荐

  1. 自定义jstl fn函数fns

    1.引入函数声明: jsp页面需要引入自定义fns函数声明:<%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld&q ...

  2. JSTL fn:split()函数

    jstl fn:split()函数代码和用法 -使用fn:split() 函数将一个字符串到一个数组根据分隔符字符串的子字符串. 使用fn:split() 函数将一个字符串到一个数组根据分隔符字符串的 ...

  3. jstl fn:replace替换换行符

    textarea输入换行符后应该是'\n',在div中展示时替换成'<br>'找到一种方法用jsp标签 jstl fn:replace方法 使用fn:replace方法之前 先要把jstl ...

  4. EL表达式中fn函数(转载)

    EL表达式中fn函数 JSTL 使用表达式来简化页面的代码,这对一些标准的方法,例如bean的getter/setter方法,请求参数或者context以及 session中的数据的访问非常方便,但是 ...

  5. EL表达式中fn函数的强大功能,很简单,很好用,很强大

    很简单,很强大,EL表达式中fn函数的强大功能,比如举个例子,要计算某个对象中的某个集合的大小,直接用EL表达式就可以计算出来-- ${fn:length(clazze.course)} 使用fn函数 ...

  6. jsp页面中引用fn函数

    jsp中fn函数的用法 想要引用fn函数,首先要先引入fn标签,在jsp头部引入<%@ taglib prefix="fn" uri="http://java.su ...

  7. 在Google Cloud Platform的K8上运行Fn函数

    最近,我在Functions和Project Fn中玩了很多游戏. 最终,我不得不离开笔记本电脑上的操场,进入真正的野生世界. 在K8s集群上运行Fn的想法对我来说很有吸引力,因此我决定在Prem或云 ...

  8. JSTL(fn函数)

    2019独角兽企业重金招聘Python工程师标准>>> 首先,我们要在页面的最上方引用: <%@ taglib prefix="fn" uri=" ...

  9. 使用fn函数控制页面显示内容

    在使用EL的时候,不可避免的遇到,截取字符串,判断字符串长度等情况.这里给出简单的通过fn函数操作字符串的deamon. 1.页面引入标签 <%@ taglib prefix="c&q ...

  10. Fn函数来构建Oracle ADF应用程序

    在我以前的一篇文章中,我描述了如何创建一个Docker容器作为ADF应用程序的构建器. 在这里,我将展示如何将此容器用作 在FN平台的功能 . 首先,让我们更新容器,使其符合功能要求,这意味着可以将其 ...

最新文章

  1. android 自定义view 动画效果,Android自定义view----音乐播放动画
  2. opengl源码 实现无缝切换图片过场_手把手讲解 Android hook技术实现一键换肤
  3. 和Leo一起做爱字符串的好孩子量子纠缠
  4. c++11新特性_c++11新特性(四)
  5. On Error Resume Next是什么意思
  6. Eclipse 中 工程 引用 其他 工程的 配置方法。
  7. sql server2008 如何获取上月、上周、昨天、今天、本周、本月的查询周期(通过存储过程)...
  8. java list加入listview_将卡添加到ListView
  9. http请求axios封装
  10. docker安装gamit_Ubuntu 14.04下Gamit10.5安装
  11. python中用于进行web开发的第三方库是_10款Web开发最佳的Python框架
  12. 日期转换和日历的使用方法
  13. ssm整合shiro,activiti配置文件
  14. SQL SEVER select对象名无效
  15. Redis相关面试题
  16. 建模是什么,建模定义,及学习方法
  17. 【柒穆雨】什么是平面设计,学习平面设计需要具备什么条件?
  18. 浅记一下伽卡他卡被全屏控制时脱离控制
  19. 柴俊理金:临近公投市场屏息,黄金沥青谨慎而行
  20. 微信服务器 系统发生错误,微信系统故障 仍未修复

热门文章

  1. 学计算机物理去戴维斯还是伦斯勒理工学院好,去伦斯勒理工学院留学,优势竟然这么多...
  2. 北漂四年,25K,程序员,我依然单身!
  3. Oracle between and
  4. Debezium报错处理系列十:Could not find existing binlog information while attempting schema only recovery sna
  5. python作业火车票订购系统_[Python爬虫]使用Selenium操作浏览器订购火车票
  6. Python教程:利用百度API进行批量图片OCR识别
  7. sigmoid代码实现
  8. 提取Excel中的超链接
  9. 写给立志进入网络行业的朋友的一些忠告
  10. net core 微服务 快速开发框架 Viper 初体验