强者征服今天,懦夫哀叹昨天,懒汉坐等明天。
|

JSTL - EL 表达式

★作者:Star   |  ★类别: 技术文章   |  ★发布时间: 2010-03-10 23:04   |  ★更新时间: 2010-03-10 23:04   |  ★浏览次数:6514   |  ★ 评论(0)

一个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表达式中所使用的操作符对你来说可能看起来很熟悉。因为它们和那些在大多数语言中所支持的操作符一样。

Operator

Description

.

访问一个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表达式总是以”${ }”来标记(一个“$”符号和一个左花括号,右花括号)。

?

除了在这个方法中使用的length()方法,JSTL1.1标签库还包含了许多其它经常使用的函数:

函数

描述

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 首尾的空格,并将其返回

请尊重他人的劳动果实,转载时务必注明出处! 请尊重他人的劳动果实,转载时务必注明出处!
转载请注明:文章转载自:桐星豆 [https://txdou.com]
本文标题:JSTL - EL 表达式
本文地址:https://txdou.com/article1
分享到QQ空间 分享到腾讯朋友

  • 注意:“桐星豆”只会以“回复”的身份出现,不会以“咨询”的身份出现在留言或评论中,凡是以“咨询”的身份出现的留言或评论均为他人盗用!
  • 本站用以回复网友评论的唯一名称是“桐星豆”,除此外均无效,网友不得用此名进行相应文章的评论或回复!
  • 用户言论只代表其个人观点,不代表桐星豆的观点或立场!
  • 非诚勿扰,请友好如实的评论,杜绝谩骂、人格攻击等一切伤人言论,请严格遵循中华人民共和国法律法规!
  • 桐星豆拥有最终解释权,如有网友违规,本站将有权删除或屏蔽违规评论,情节严重者账户加入黑名单、永久封IP并报司法部门严惩!
  • 您一旦参与评论本站则默认为您已经同意以上条款,否则“非诚勿扰”,谢谢合作!

您的姓名或昵称: 选填
您的E-Mail地址: ☆必填--仅站长可见
您个人网站地址: 选填 ( 如果填写,请务必加上 http:// 或 https:// 等等 )
留言内容:

验证码: 点击重新生成验证码  [ ctrl + enter ]

CopyRight © 2009-2024 by 桐星豆 All Rights Reserved. ICP证:京ICP备20021364号
Star-2023-02-07-SSO