JSTL-EL表达式 函数fn

来源:http://blog.csdn.net/w__yi/article/details/7030843

JSTL-EL表达式

一个EL表达式包含变量和操作符。任何存储在某个JSP作用范围(如:page、 request、session、application)的bean能被作为一个EL变量来使用。
另外,EL支持以下预定义的变量:变量名称
说明

pageScope 一个包含所有page scope范围的变量集合 (a java.util.Map)

requestScope 一个包含所有request scope范围的变量集合 (a java.util.Map)

sessionScope 一个包含所有session scope范围的变量集合 (a java.util.Map)

applicationScope 一个包含所有application scope范围的变量集合 (a java.util.Map)

param 一个包含所有请求参数的集合 (a java.util.Map),通过每个参数对应一个String值的方式赋值

paramValues 一个包含所有请求参数的集合 (a java.util.Map),通过每个参数对应一个String数组的方式赋值

header 一个包含所有请求的头信息的集合, (a java.util.Map) ,通过每个头信息对应一个String值的方式赋值

headerValues 一个包含所有请求的头信息的集合 (a java.util.Map) ,通过每个头信息的值都保存在一个String数组的方式赋值

cookie 一个包含所有请求的 cookie集合 (a java.util.Map), 通过每一个cookie(javax.servlet.http.Cookie)对应一个cookie值的方式赋值

initParam 一个包含所有应用程序初始化参数的集合(a java.util.Map) ,通过每个参数分别对应一个String值的方式赋值

pageContext 一个javax.servlet.jsp.PageContext类的实例, 用来提供访问不同的请求数据


操作符描述了你对变量所期望的操作。如果你之前曾经使用过任何编程语言的话,在EL表达式中所使用的操作符对你来说可能看起来很熟悉。
因为它们和那些在大多数语言中所支持的操作符一样。

. 访问一个bean属性或者 Map entry

[] 访问一个数组或者链表元素

() 对子表达式分组,用来改变赋值顺序

? : 条件语句,比如: 条件 ? ifTrue : ifFalse.如果条件为真,表达式值为前者,反之为后者

+ 数学运算符,加操作

- 数学运算符,减操作或者对一个值取反

* 数学运算符,乘操作

/ or div 数学运算符,除操作

% or mod 数学运算符,模操作(取余)

== or eq 逻辑运算符,判断符号左右两端是否相等,如果相等返回true,否则返回false

!= or ne 逻辑运算符,判断符号左右两端是否不相等,如果不相等返回true,否则返回false

< or lt 逻辑运算符,判断符号左边是否小于右边,如果小于返回true,否则返回false

> or gt 逻辑运算符,判断符号左边是否大于右边,如果大于返回true,否则返回false

<= or le 逻辑运算符,判断符号左边是否小于或者等于右边,如果小于或者等于返回true,否则返回false

>= or ge 逻辑运算符,判断符号左边是否大于或者等于右边,如果大于或者等于返回true,否则返回false

&& or and 逻辑运算符,与操作赋。如果左右两边同为true返回true,否则返回false

|| or or 逻辑运算符,或操作赋。如果左右两边有任何一边为true返回true,否则返回false

! or not 逻辑运算符,非操作赋。如果对true取运算返回false,否则返回true

empty 用来对一个空变量值进行判断: null、一个空String、空数组、空Map、没有条目的Collection集合

func(args) 调用方法, func是方法名,args是参数,可以没有,或者有一个、多个参数.参数间用逗号隔开


一个EL表达式可以包含:数字、文本(在单引号或者双引号之间)、布尔值、null值。
因为一个EL表达式可以出现在静态文本出现的地方,因此你必须告诉JSP容器它应该被当作一个EL表达式来处理。你可以通过使用定界符来做到这一点。
一个EL表达式总是以”${ }”来标记(一个“$”符号和一个左花括号,右花括号)。

函数

fn:contains(string, substring) 如果参数string中包含参数substring,返回true
fn:contains 判断字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, searchString)}">

fn:containsIgnoreCase(string, substring) 如果参数string中包含参数substring(忽略大小写),返回true
fn:containsIgnoreCase 判断字符串是否包含另外一个字符串(大小写无关) <c:if test="${fn:containsIgnoreCase(name, searchString)}">

fn:endsWith(string, suffix) 如果参数 string 以参数suffix结尾,返回true
fn:endsWith 判断字符串是否以另外字符串结束 <c:if test="${fn:endsWith(filename, ".txt")}">

fn:escapeXml(string) 将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回
fn:escapeXml 把一些字符转成XML表示,例如 <字符应该转为< ${fn:escapeXml(param:info)}

fn:indexOf(string, substring) 返回参数substring在参数string中第一次出现的位置
fn:indexOf 子字符串在母字符串中出现的位置 ${fn:indexOf(name, "-")}

fn:join(array, separator) 将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。
fn:join 将数组中的数据联合成一个新字符串,并使用指定字符格开 ${fn:join(array, ";")}

fn:length(item) 返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。
fn:length 获取字符串的长度,或者数组的大小 ${fn:length(shoppingCart.products)}

fn:replace(string, before, after) 返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果
fn:replace 替换字符串中指定的字符 ${fn:replace(text, "-", "•")}

fn:split(string, separator) 返回一个数组,以参数separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素
fn:split 把字符串按照指定字符切分 ${fn:split(customerNames, ";")}

fn:startsWith(string, prefix) 如果参数string以参数prefix开头,返回true
fn:startsWith 判断字符串是否以某个子串开始 <c:if test="${fn:startsWith(product.id, "100-")}">

fn:substring(string, begin, end) 返回参数string部分字符串, 从参数begin开始到参数end位置,包括end位置的字符
fn:substring 获取子串 ${fn:substring(zip, 6, -1)}

fn:substringAfter(string, substring) 返回参数substring在参数string中后面的那一部分字符串
fn:substringAfter 获取从某个字符所在位置开始的子串${fn:substringAfter(zip, "-")}

fn:substringBefore(string, substring) 返回参数substring在参数string中前面的那一部分字符串
fn:substringBefore 获取从开始到某个字符所在位置的子串 ${fn:substringBefore(zip, "-")}

fn:toLowerCase(string) 将参数string所有的字符变为小写,并将其返回
fn:toLowerCase 转为小写 ${fn.toLowerCase(product.name)}

fn:toUpperCase(string) 将参数string所有的字符变为大写,并将其返回
fn:toUpperCase 转为大写字符 ${fn.UpperCase(product.name)}

fn:trim(string) 去除参数string 首尾的空格,并将其返回
fn:trim 去除字符串前后的空格 ${fn.trim(name)}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

omv检查硬盘坏道_坏道检测与修复

本软件提供了磁盘坏道检测功能及有限的坏道修复功能。为确保检查结果的准确性&#xff0c;建议在WinPE环境下进行检测&#xff0c;并且在检测坏道期间不要对磁盘做其他操作。1. 要使用本功能&#xff0c;首先选择需要检测坏道的磁盘&#xff0c;然后点击“磁盘 - 坏道检测与修复…

2018 年最值得期待的学术进展——致人工智能研究者们的年终总结

来源&#xff1a;AI科技评论概要&#xff1a;这里&#xff0c;我们为大家奉上机器学习学者 Alex Honcha 所展望的 2018 年最可能产生突破的 AI 领域。2017年马上就要过去了&#xff0c;而 AI 也在2017年中得到了快速发展。研究人员们提出了很多有趣而又富有开创性的工作。而作为…

python exchangelib 删除邮件_Python优雅的操作Exchange邮箱——exchangelib模块使用介绍...

最近想把公司邮箱的附件给下载下来&#xff0c;附件好多都是我整理的报告和文档&#xff0c;一个个去下载明显太傻&#xff0c;碰到这种问题第一个想到的就是Python啦需求很简单&#xff0c;只需要登录自己的Exchange邮箱&#xff0c;然后遍历所有邮件&#xff0c;有附件的就下…

对超长的文字换行处理:程序和CSS样式

css .text-overflow { display: block; /*内联对象需加*/ width: 125px; word-break: normal; white-space: pre-wrap; /* 不换行 */ overflow: hidden; /* 内容超出宽度时隐藏超出部分的内容 */ text-overflow: ellipsis; height: 30px; position: absolute; } <!--对超长…

DARPA盘点2017年最受关注的十大科技新闻

来源&#xff1a;国防科技要闻2017年&#xff0c;DARPA国防颠覆性技术与能力方面的重大投资覆盖了从量子超材料、机器学习、神经技术到无人系统自主性的数十个领域约250个项目。DARPA官网全年共收获3500万次访问量。根据访问量排序&#xff0c;DARPA整理出最受关注的十大技术新…

函数的凹凸性证明_理解图灵机和递归函数的等价性证明

背景之前读了 Martin Davis 的《Computability and Unsolvability》&#xff0c;决定对其中的图灵机和递归函数等价性证明做一个&#xff08;不严谨的&#xff09;整理&#xff0c;证明方法比较有趣&#xff0c;虽然最终结果并没有太大的惊喜。整理本身的目标是抛开晦涩难懂的数…

观点 | 别忽视深度学习的种种问题,Gary Marcus 泼冷水义不容辞

来源&#xff1a;AI科技评论纽约大学心理学教授 Gary Marcus 曾是 Uber 人工智能实验室的负责人&#xff0c;他自己创立的人工智能创业公司 Geometric Intelligence 2016 年 12 月被 Uber 收购&#xff0c;自己也就加入 Uber 帮助他们建立人工智能实验室。Gary Marcus 也曾号召…

spring框架做全局异常捕获_@ControllerAdvice注解(全局异常捕获)

背景ControllerAdvice 注解 通常用于定义ExceptionHandler&#xff0c; InitBinder和ModelAttribute 适用于所有RequestMapping方法的方法。ExceptionHandler异常处理器作用:可以拦截程序抛出来的指定异常。使用场景:主要使用与项目统一异常处理&#xff0c;对于rest风格的返回…

DeepMind推出「控制套件」:为「强化学习智能体」提供性能基准

来源&#xff1a;arxiv作者&#xff1a;Yuval Tassa, Yotam Doron, Alistair Muldal, Tom Erez,Yazhe Li, Diego de Las Casas, David Budden, Abbas Abdolmaleki, Josh Merel,Andrew Lefrancq, Timothy Lillicrap, Martin Riedmiller「雷克世界」编译&#xff1a;嗯~阿童木呀、…

JS中实现replaceAll的方法

http://fuleonardo.iteye.com/blog/339749 第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。 replace() The replace()…

pytorch统计矩阵非0的个数_矩阵的三种存储方式---三元组法 行逻辑链接法 十字链表法...

在介绍矩阵的压缩存储前&#xff0c;我们需要明确一个概念&#xff1a;对于特殊矩阵&#xff0c;比如对称矩阵&#xff0c;稀疏矩阵&#xff0c;上&#xff08;下&#xff09;三角矩阵&#xff0c;在数据结构中相同的数据元素只存储一个。 [TOC] 三元组顺序表 稀疏矩阵由于其自…

【视频】2017,50个令人屏息的科技瞬间

来源&#xff1a;甲子光年概要&#xff1a;整个世界的巨变&#xff0c;肇始于一颗微尘的颤动。「甲子光年」挑选了属于2017年的50个科技瞬间。十年后再回望时&#xff0c;它们可能正是那个撼动世界的历史性时刻。即将过去的2017年&#xff0c;一定有这样的一瞬&#xff1a;整个…

机加工程序工时程序_准终工时、人工工时、机器工时,十个工程师九个会弄错...

​上一篇文章种蚂蚁先生跟大家详细分析了产品成本的组成&#xff0c;其主要分为材料成本和制造成本两个部分。 然而要得到制造成本&#xff0c;则必须有标准工时数据。那么标准工时究竟是什么呢&#xff1f;​标准工时制&#xff1a; 标准工时是在标准工作环境下&#xff0c;进…

互联网大脑的云反射弧路径选择问题,兼谈ET大脑模糊认知反演理论

互联网大脑的云反射弧路径选择问题研究2008年以来&#xff0c;我们在互联网大脑架构和互联网进化的研究中提到&#xff0c;“互联网大脑架构&#xff0c;就是互联网向与人类大脑高度相似的方向进化过程中&#xff0c;形成的类脑巨系统架构。互联网云脑架构具备不断成熟的类脑视…

如何传入比较器_typescript专题(五) 装饰器

欢迎来到我专题文章【typescript】&#xff0c;更多干货内容持续分享中&#xff0c;敬请关注&#xff01;本章目标基于webpack4.x从0开始搭建ts的开发环境ts中的装饰器的基本使用基于webpack4.x从0开始搭建ts的开发环境webpack4.x已经问世好久了&#xff0c;0配置是一大亮点&am…

『报告』IDC:2018年物联网产业10大预测

来源&#xff1a;T客汇编译概要&#xff1a;根据市场研究公司IDC的报告&#xff0c;2018年全球物联网支出总额将达到7720亿美元。新年新气象&#xff0c;2017年被称作物联网&#xff08;IoT&#xff09;元年&#xff0c;而2018年还将续写IoT的高歌猛进。根据市场研究公司IDC的报…

上传图片和音频到DB

jsp页面 <% page language"java" pageEncoding"UTF-8" contentType"text/html;charsetUTF-8"%> <% include file"/common/taglibs.jsp"%> <% include file"/pages/exercise/editExerciseFrame.jsp"%> <…

hbase获取表信息_HBase的读写和javaAPI的使用

一、hbase系统管理表hbase:namespace&#xff0c;记录了hbase中所有namespace的信息 ,当前系统下有哪些namespace信息scan hbase:namespacehbase:meta&#xff0c;记录了region信息scan hbase:meta二、读写思想client(get、scan)rowkey条件(1)由于rowkey是存储在region上的(2)判…

机器学习必知的15大框架

作者 | Devendra Desale译者 | Mags来源 | 云栖社区不管你是一个研究人员&#xff0c;还是开发者&#xff0c;亦或是管理者&#xff0c;想要使用机器学习&#xff0c;需要使用正确的工具来实现。本文介绍了当前最流行15个机器学习框架。机器学习工程师是开发产品和构建算法团队…

上传图片和音频到Server,再转存到DB

jsp页面 <% page language"java" pageEncoding"UTF-8" contentType"text/html;charsetUTF-8"%> <% include file"/common/taglibs.jsp"%> <link rel"stylesheet" href"<c:url value/plugin/ztree-v3…