收藏 分享(赏)

EL和Jstl标签库.pdf

上传人:HR专家 文档编号:11573672 上传时间:2020-07-02 格式:PDF 页数:11 大小:301.66KB
下载 相关 举报
EL和Jstl标签库.pdf_第1页
第1页 / 共11页
EL和Jstl标签库.pdf_第2页
第2页 / 共11页
EL和Jstl标签库.pdf_第3页
第3页 / 共11页
EL和Jstl标签库.pdf_第4页
第4页 / 共11页
EL和Jstl标签库.pdf_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、J S P J S P J S P J S P E L E L E L E L 表达式 和 J S T L J S T L J S T L J S T L 介绍 文档版本:V 1. 0 V 1. 0 V 1. 0 V 1. 0 更新时间:2007 2007 2007 2007 年 3 3 3 3 月 文档撰写人:w an g z h an g w an g z h an g w an g z h an g w an g z h an g目 录 E L 语言介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 一、J S P E L 语言定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 二、E L 概述: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 三、J S P E L 中的有效表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5、. . . . . . . . . . . . 3 1、文字 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2、操作符 . . . .

6、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3、隐式对象 . . . . . . . . . . . . . . . . . . . . . . . . . .

7、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 四、J S P E L 语言定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1、E L 基本用法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2、E L 操作符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10、. . . . . . . 6 3、E m pt y 操作符( 空值检查) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 五、J S P E L 语言定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 六、E L 表达式无效- - - 解决方案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 J S T L C or e 标签库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13、. . . . . . . . . . . . . . . . . . . . . . . . . . 8 1、通用标签 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14、 . . . . . . . 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 . . . . . . . . . . . . .

15、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2、流控制标签 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19、 . . . . . . . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 .

20、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3、循环控制标签 . . . . . . . . . . . . . . . . . . . . . . . . . . .

21、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24、 . . 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 . . . . . . . . . . . . . . . . . .

25、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11E L E L E L E L 语言介绍 一、J S P J S P J S P J S P - - - - E L E L E L E L 语言定义 E L (E x p r e ssi o n L a n g u a g e )目的:为了使 J S P 写起来更加简单。表达式语言的灵感 来自

27、于 E C M A S cr i p t 和 X P a t h 表达式语言, 它 提供了在 J S P 中简化表达式的方法。 它 是 一种简单的语言, 基于可用的命名空间( P a g e C o n t e x t 属性) 、 嵌 套属性和对集合、操作 符 (算术型、关系型和逻辑型)的访问符、映射到 J a va 类中静态方法的可扩展函数以及一 组隐式对象。E L 提供了在 J S P 脚本编制元素范围外使用运行时表达式的功能。脚本编制 元素是指页面中能够用于在 J S P 文件中嵌入 J a va 代码的元素。 它 们通常用于对象操作 以 及执行那些影响所生成内容的计算。J S P 2

28、. 0 将 E L 表达式添加为一种脚本编制元素。 二、E L E L E L E L 概述: E L 表达式语言是一种简单的数据访问语言,基本语法格式为 “ $ 表达式 ” 。它具有以下一 些特点: 在 E L 表达式中可以直接使用属性名来引用存储在各种域范围(p a g e 、r e q u e st 、 se ssi o n 、 a p p l i ca t i o n ) 中 的属性, 例 如, $ u se r 等效于如下的 J S P 脚本表达式: ; 在 E L 表达式中可以使用$ cu st o m e r B e a n . a d d r e ss. co u n t r

29、y 的形式来访问 J a va B e a n 对象中的属性对象中的属性,以及可以使用$ u se r s 0 的形式来访问有序集 合中的元素; 在 E L 表达式中可以执行基本的关系运算、逻辑运算和算术运算; 在 E L 表达式中可以使用自定义函数来完成一些更复杂的功能; 在 E L 表达式中可以使用一系列的隐含对象,例如,p a g e C o n t e x t 、co o ki e 等。通 过这些隐含对象,E L 表达式可以访问 J S P 页面中的各种信息,例如,通过 co o ki e 隐 含对象可以直接访问到某个 C o o ki e 信息,如果不使用 E L 表达式,则必须编写

30、复杂的 J S P 脚本代码才能访问某个 C o o ki e 信息。 注: 在 J S P 文件中, 字符串 “ $ ” 作为 E L 表达式的开始标记, 所以, 如果要输出 字 面意义的字符串,“ $ ” ,必须使用反斜杠“ ” 对“ $ ” 字符进行转义,或者将它们作为一个 普通的字符串常量用引号引起来(即:“ $ “ $ ” ” ) 。 三、J S P J S P J S P J S P - - - - E L E L E L E L 中的有效表达式 有效表达式可以包含文字、 操作符、 变 量 (对象引用) 和函数调用。 我们将分别了解 这 些有效表达式中的每一种: 1 1 1 1 、

31、文字 J S P 表达式语言定义 可在表 达式中 使用的 以下文 字: 文字 文字 的值 B o o l e a n t r u e 和 f a l s e I n t e g e r 与 J a v a 类似。可以包含 任何正 数或负 数,例 如 2 4 、- 4 5 、5 6 72 2 2 2 、操作符 J S P 表达式语言提供 以下操 作符, 其中大 部分是 J a v a 中常用的操作符 : 3 3 3 3 、隐式对象 J S P 表达式语言定义 了一组 隐式对 象,其 中许多 对象在 J S P s c r i p l e t 和表达式中可用 : 此外,还提供几 个隐式 对象, 允

32、许对 以下对 象进行 简易访 问: F l o a t i n g P o i n t 与 J a v a 类似。可以包含 任何正 的或负 的浮点 数,例 如 - 1 . 8 E - 4 5 、 4 . 5 6 7 S t r i n g 任何由单引号或 双引号 限定的 字符串。 对于单 引号、双引 号和反 斜杠,使 用 反 斜杠字符作为转 义序列。 必须注 意,如果在 字符串 两端使 用双引 号,则单 引 号 不需要转义。 N u l l n u l l 术语 定义 算术型 + 、- ( 二 元 ) 、 * 、/ 、d i v 、% 、 m o d 、- (一元) 逻辑型 a n d 、 2

33、 、例如,但是下 面的那 句 E L 语言可以完成如 果得到 一 个 u s e r n a m e 为空,则不显 示 n u l l , 而是 不显示值: h e a d e r V a l u e s 将 请 求 头 名 称 映 射 到 一 个 数 值 数 组 ( 通 过 调 用 S e r v l e t R e q u e s t . g e t H e a d e r s ( S t r i n g ) 获得) 。 它与头隐式对 象非 常类似 。表达 式 $ h e a d e r V a l u e s . n a m e 相当于 r e q u e s t . g e t H e

34、 a d e r V a l u e s ( n a m e ) 。 c o o k i e 将 c o o k i e 名称映射到单个 c o o k i e 对象。向服务器发出的客 户端请 求可以 获 得一个或多个 c o o k i e 。 表 达式 $ c o o k i e . n a m e . v a l u e 返回带有特定名 称的 第 一 个 c o o k i e 值 。 如 果 请 求 包 含 多 个 同 名 的 c o o k i e , 则 应 该 使 用 $ h e a d e r V a l u e s . n a m e 表达式。 i n i t P a r a

35、 m 将 上 下 文 初 始 化 参 数 名 称 映 射 到 单 个 值 ( 通 过 调 用 S e r v l e t C o n t e x t . g e t I n i t p a r a m e t e r ( S t r i n g n a m e ) 获 得 ) 。 术语 定义 p a g e S c o p e p a g e S c o p e p a g e S c o p e p a g e S c o p e 将 页 面 范 围 的 变 量 名 称 映 射 到 其 值 。 例 如 , E L 表 达 式 可 以 使 用 $ p a g e S c o p e . o b

36、 j e c t N a m e 访问一个 J S P 中页面范围的对 象,还可以 使 用 $ p a g e S c o p e . o b j e c t N a m e . a t t r i b u t e N a m e 访问对象的属性 。 r e q u e s t S c o p e r e q u e s t S c o p e r e q u e s t S c o p e r e q u e s t S c o p e 将请求范围的 变量 名称映 射到 其值。 该对 象允许 访问 请求对 象的 属性。 例 如 , E L 表达式可以使用 $ r e q u e s t S

37、c o p e . o b j e c t N a m e 访问一个 J S P 请 求范围的对象 ,还 可以使 用 $ r e q u e s t S c o p e . o b j e c t N a m e . a t t r i b u t e N a m e 访问对象的属性 。 s e s s i o n S c o p e s e s s i o n S c o p e s e s s i o n S c o p e s e s s i o n S c o p e 将会话范围的 变量 名称映 射到 其值。 该对 象允许 访问 会话对 象的 属性。 例 如: $ s e s s i

38、o n S c o p e . n a m e a p p l i c a t i o n S c o p e a p p l i c a t i o n S c o p e a p p l i c a t i o n S c o p e a p p l i c a t i o n S c o p e 将应用程序范 围的 变量名 称映 射到其 值。 该隐式 对象 允许访 问应 用程序 范 围的对象。 等价于 $ u s e r . a d d r 。 3 、例如, 等价于 $ r e q u e s t S c o p e . u s e r l i s t ; 例如,原理如上 例 3 。 $

39、 r e q u e s t S c o p e . u s e r l i s t 1 $ s e s s i o n S c o p e . u s e r l i s t 2 $ a p p l i c a t i o n S c o p e . u s e r l i s t 3 $ p a g e S c o p e . u s e r l i s t 4 $ u s e l i s t 含义:执行顺序 为 4 1 2 3 。 “ . ” 后面的只是一个 字符串 ,并不 是真正 的内置 对象, 不能调 用对象 。 4 、例如, 等价于 $ u s e r . a d d r 第一句前

40、面 的 u s e r , 为一个变量。 第二句后面 u s e r ,必须为在某一 个范围 里的属 性。 2 2 2 2 、E L E L E L E L 操作符 取得某个对象或集合中的属性值 为了获得集合中的属性,E L 支持以下两种操作 1 使用. 操作符来获得有名字的属性。 例 如表达式$ us e r . us e r na m e 表明对象 us e r 的 us e r na m e 属性 2 使用 操作符来获得有名字或按数字排列的属性。 表达式$ us e r us e r na m e 和表达式$ us e r . us e r na m e 含义相同 表达式$ r o w

41、0 表明 r ow 集合的第一个条目。 在这里 us e r 是一个类的对象, 它 的属性 us e r na m e 必须符合标准 J a va B e a n 的规范, 即 必须 为 us e r na m e 属性定义相应的 ge t t e r 、s e t t e r 方法。 3 3 3 3 、E m p t y E m p t y E m p t y E m p t y 操作符( ( ( ( 空值检查) ) ) ) 使用 e m pt y 操作符来决定对象、集合或字符串变量是否为空或 nul l 。例如: $ e m pt y pa r a m . us e r na m e 如果

42、 r e que s t 的参数列表中的 us e r na m e 值为 nul l ,则表达式的值为 t r ue 。 E L 也可以直接使 用比较操作符与 nul l 进行比较。如$ pa r a m . f i r s t na m e = = nul l 。 比较操作符操作符描述= = 或 e q 相等检查! = 或 ne 不等检查 或 gt 大于检查 = 或 ge 大于等于检查 数字运算符与逻辑运算符均与 J A V A 语言相同,不再列表。 五、特别强调 1、注意当表达式根据名称引用这些对象之 一时,返回的是相 应的对象而不是 相应的属性。 例如: 即使现有的 pa ge C o

43、nt e xt 属性包含某些其他值, $ pa ge C ont e xt 也返回 P a ge C ont e x t 对象。 2、 注意 表示是否禁用 E L 语言, T R U E 表示禁止. F A L S E 表示不禁止. J S P 2. 0 中默认的启用 E L 语言。 六、E L E L E L E L 表达式无效- - - - - - - - - - - - 解决方案 E L ( E xpr e s s i on l a ngua ge ) 表达式产生于 J S T L 1. 0 在 J s p2. 0/ s e r vl e t 2. 4 后成为 J s p 的规范: 解决

44、方案: 一,如果你 的项 目 是 J a va E E 5. 0 的话,那 么 E L 默认是忽略 的。 应该 在 j s p 页面上加上: 二,如果你的项目是 J a va E E 1. 4 的话 1,查看 w e b . xm l 中的头信息是否是 2,如果是在 w e b . xm l 中添加以下内容 *. j s p t r ue 下面为 j av a1. 4 和 5. 0 的 w e b. x m l 文件头信息的对比 J S T L - J S T L - J S T L - J S T L - C o r e C o r e C o r e C o r e 标签库 1 1 1 1

45、 、通用标签 标签用于在 J S P 中显示数据, 它 有如下属性属 性描 述是否必须缺省值 va l ue 输出的 信息,可以是 E L 表达式或常量是无 de f a ul t va l ue 为空时显示信息否无 e s c a pe X m l 为 t r ue 则 避开特殊的 xm l 字符集否 t r ue 例子: 您的用户名是: 显示用户的用户名,如为空则显示 gue s t 指定从 s e s s i on 中获取 us e r na m e 的值显示; 显示 us e r na m e 的值, 默认是从 r e que s t ( pa ge ) 中取, 如果 r e que

46、s t 中没有名为 us e r na m e 的对象 则从 s e s s i on 中取, s e s s i on 中没有则从 a ppl i c a t i on( s e r vl e t C ont e xt ) 中取, 如果没有取到任何 值 则不显示。 标签用于保存数据,它有如下属性属 性描 述是否必须缺省值 va l ue 要 保 存 的 信 息 , 可以是 E L 表达式 或 常量 否 t a r ge t 需要修 改 属性 的 变 量名 , 一 般 为 j a va be a n 的实例 否 无 pr ope r t y 需要修改的 j a va be a n 属性否无 v

47、a r 需要保存信息的变量否无 s c ope 保存信息的变量 的范围否 pa ge 如果指定了 t a r ge t 属性, 那么 pr ope r t y 属性也必须指定。 例子: 将 t e s t . t e s t i nf o 的值保存到 s e s s i on 的 t e s t 2 中 , 其 中 t e s t 是一个 j a va be a n 的 实 例 , t e s t i nf o 是 t e s t 对象的属性。 将对象 c us t . a ddr e s s 的 c i t y 属性值保存到变量 c i t y 中 标签用于删除数据, 它有如下属性属 性描

48、述是否必须缺省值 va r 要删除的变量 是无 s c ope 被删除变量的范围否所有范围,包括 pa ge 、r e que s t 、s e s s i on 、a ppl i c a t i on 等 例子: 从 s e s s i on 中删除 t e s t 2 变量。2 2 2 2 、流控制标签 标签有如下属性属 性描 述是否必须缺省值 t e s t 需要评价的条件, 相 当于 i f ( . . . ) 语句 中的条件是无 va r 要求保存条件结果的变量名否无 s c ope 保存条件结果的变量范围否 pa ge 这个标签不接受任何属性 标签有以下属性属 性描 述是否必须缺省

49、值 t e s t 需要评价的条件是无 这个标签同样不接受任何属性 例子: us e r . w e a l t hy i s t r ue . 如果 us e r . w e a l t hy 值 t r ue ,则显示 us e r . w e a l t hy i s t r ue . us e r . ge ne r ous i s t r ue . us e r . s t i ngy i s t r ue . us e r . ge ne r ous a nd us e r . s t i ngy a r e f a l s e . 只有当条件 us e r . ge ne r ous 返回值是 t r ue 时,才显示 us e r . ge ne r ous i s t r ue . 只有当条件 us e r . s t i ngy 返回值是 t r ue 时,才显示 us e r . s t i ngy i s t r ue . 其它所有的情况 (即 us e r .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报