第8章EL表达式语言与JSTL课件.ppt

上传人:飞****2 文档编号:70483698 上传时间:2023-01-20 格式:PPT 页数:49 大小:393.01KB
返回 下载 相关 举报
第8章EL表达式语言与JSTL课件.ppt_第1页
第1页 / 共49页
第8章EL表达式语言与JSTL课件.ppt_第2页
第2页 / 共49页
点击查看更多>>
资源描述

《第8章EL表达式语言与JSTL课件.ppt》由会员分享,可在线阅读,更多相关《第8章EL表达式语言与JSTL课件.ppt(49页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第8章章 EL表达式语言与表达式语言与JSTL标签库标签库n本章主要内容:本章主要内容:n8.1 EL表达式表达式重点重点n8.2 JSTL标签库标签库重点重点n8.3 Core标签库标签库重点重点n8.4 其他标签库其他标签库了解了解8.1 EL表达式语言表达式语言n1.EL语法语法n2.EL内置对象内置对象8.1 表达式语言表达式语言(Expression Language,EL)n与与JSP脚本相比,脚本相比,EL提供了一种更加简化提供了一种更加简化的方式来生成动态的方式来生成动态Web页面。页面。nEL的基本语法如下:的基本语法如下:$表达式表达式exprn其中,其中,$为为EL语法

2、中的输出符号,语法中的输出符号,expr 为为EL有效表达式,它包含在一对大括号内。有效表达式,它包含在一对大括号内。EL有效表达式可以包含文字、操作符、变有效表达式可以包含文字、操作符、变量(对象引用)和函数调用等。量(对象引用)和函数调用等。n例如:例如:$23+15.281.EL表达式语法表达式语法内容内容类类型型 合法取合法取值值Booleantrue 和和 falseInteger与与 Java 类类似。可以包含任何正数或似。可以包含任何正数或负负数,例数,例如如 24、-45、567Floating Point与与 Java 类类似。可以包含任何正的或似。可以包含任何正的或负负的浮

3、点的浮点数,例如数,例如-1.8E-45、4.567String任何由任何由单单引号或双引号限定的字符串。引号或双引号限定的字符串。对对于于单单引号、双引号和反斜杠,使用反斜杠字引号、双引号和反斜杠,使用反斜杠字符作符作为转义为转义序列。必序列。必须须注意,如果在字符注意,如果在字符串两端使用双引号,串两端使用双引号,则单则单引号不需要引号不需要转义转义NullnullEL有效表达式支持的内容类型有效表达式支持的内容类型术语术语定定义义算算术术型型+、-、*、/、%逻辑逻辑型型and、&、or、|、!、not关系型关系型=、!=、=。可以与其他。可以与其他值进值进行比行比较较,或与布或与布尔尔

4、型、字符串型、整型或浮点型文字型、字符串型、整型或浮点型文字进进行比行比较较。空空空操作符是前空操作符是前缀缀操作,可用于确定操作,可用于确定值值是否是否为为空。空。条件型条件型A?B:C。根据。根据 A 赋值赋值的的结结果来果来赋值赋值 B 或或 C。ELEL有效表达式支持的操作符有效表达式支持的操作符 举例:举例:el.jsp EL有效表达式有效表达式$true$23+15.28$1210$(1210)&(a!=b)n说明:说明:JSP2.0以后,以后,EL可以应用在可以应用在JSP页页面的模版文本中,也可以作为面的模版文本中,也可以作为JSP标记的动标记的动态属性。它唯一不能使用的场合就

5、是态属性。它唯一不能使用的场合就是JSP的的脚本元素内部。脚本元素内部。类别 标识符符 描述描述 JSPpageContextpageContext JSP 页页的上下文。的上下文。作用域作用域pageScopepageScope 与与page作用域的属性的名称和作用域的属性的名称和值值相关相关联联的的类类 requestScoperequestScope 与与request作用域的属性的名称和作用域的属性的名称和值值相关相关联联的的类类 sessionScopesessionScope 与与session作用域的属性的名称和作用域的属性的名称和值值相关相关联联的的类类 application

6、ScopeapplicationScope 与与application作用域的属性的名称和作用域的属性的名称和值值相关相关联联的的类类 请请求求参数参数paramparam 存存储请储请求参数名称求参数名称值对值对的的类类。paramValuesparamValues 将将请请求参数的所有求参数的所有值值作作为为 StringString 数数组组存存储储的的类类 请请求求头头headerheader 按名称存按名称存储请储请求求头头部主要部主要值值的的类类 headerValuesheaderValues 将将请请求求头头部的所有部的所有值值作作为为 StringString 数数组组存存储

7、储的的类类 Cookiecookiecookie 按名称存按名称存储请储请求附求附带带的的 cookie 的的类类 初始化初始化参数参数initParaminitParam 按名称存按名称存储储 Web 应应用程序上下文初始化参数的用程序上下文初始化参数的类类 2.EL2.EL支持的隐式对象支持的隐式对象 例例8-1:使用:使用EL实现一个计算器。实现一个计算器。8-1.jsp8-1.jsp加法计算器加法计算器 8.2 JSTL标签库标签库nJSP 标准标记库(标准标记库(JSP Standard Tag Library,JSTL):):是一个实现是一个实现 Web 应用应用程序中常

8、用功能的定制标记库集,这些功能程序中常用功能的定制标记库集,这些功能包括输出、程序流程控制、数据管理格式化、包括输出、程序流程控制、数据管理格式化、XML 操作以及数据库访问等。操作以及数据库访问等。nJSTL标记库标记库:实现大量服务器端实现大量服务器端 Java 应用应用程序常用的基本功能。通过为典型表示层任程序常用的基本功能。通过为典型表示层任务(如数据格式化和迭代或条件内容)提供务(如数据格式化和迭代或条件内容)提供标准实现,标准实现,JSTL 使使 JSP 作者可以专注于特作者可以专注于特定于应用程序的开发需求,而不是为这些通定于应用程序的开发需求,而不是为这些通用操作用操作“另起炉

9、灶另起炉灶”。JSTL的发展史的发展史nJSTL的第一个版本的第一个版本 1.0 发布于发布于 2002 年年 6 月,从月,从1.1版本开始,它已经成为版本开始,它已经成为Java EE标准的核心技术规范,标准的核心技术规范,J2EE 1.4规范支持规范支持的的JSTL版本为版本为1.1,它要求,它要求Servlet2.3和和JSP1.2以上版本的以上版本的Web容器的支持。在最容器的支持。在最新的新的Java EE 5规范中支持的规范中支持的JSTL版本为版本为1.2,它要求的,它要求的Servlet2.4和和JSP2.0以上版本以上版本的的Web容器的支持。容器的支持。JSTL的意义的意

10、义nJSTL的推出,大大提高了的推出,大大提高了JSP页面的开发页面的开发效率,为页面设计人员和程序开发人员的效率,为页面设计人员和程序开发人员的分工协作提供了便利。分工协作提供了便利。n有了有了JSTL,Java Web开发人员就可以将精开发人员就可以将精力专注于实现特定的业务逻辑,而不必费力专注于实现特定的业务逻辑,而不必费力去实现迭代和条件判断等通用功能,开力去实现迭代和条件判断等通用功能,开发效率将大大提高。另外,统一的发效率将大大提高。另外,统一的JSTL也也大大提高了大大提高了Java Web应用的兼容性和可移应用的兼容性和可移植性。植性。标记库标记库名称名称URI前前缀缀说说明明

11、corehttp:/ 操作,集合操作,集合类类型操作等型操作等 JSTL的功能标记库分类的功能标记库分类 JSTL的使用步骤的使用步骤n在在Web应用中使用应用中使用JSTL需要以下步骤:需要以下步骤:将将JSTL所需的所需的jar添加的添加的Web工程的类工程的类路径路径 在在JSP页面中使用页面中使用taglib指令引入标记指令引入标记库库 使用使用JSTL标记,完成特定功能。标记,完成特定功能。举例:举例:demo1.jsp demo1.jsp JSTL测试测试 运行效果图运行效果图8.2 Core标记库标记库ncore标记库:标记库:用来实现用来实现Web应用中最常用的应用中最常用的功

12、能,在功能,在JSTL的的5个标记库中,个标记库中,core标记库标记库是最基础的标记库,其它标记库都是在是最基础的标记库,其它标记库都是在core标记库的协同下来实现自身功能。标记库的协同下来实现自身功能。Core标记库的内容标记库的内容n在在core标记库中,主要包含以下几类标记:标记库中,主要包含以下几类标记:通用标记通用标记:、。条件标记条件标记:、。迭代标记迭代标记:、。URL标记标记:、。1.通用标记通用标记标记标记n标记:标记:负责把变量或表达式的计算负责把变量或表达式的计算结果输出,其功能与调用结果输出,其功能与调用out.println()基基本一致。本一致。可以包含标记体内

13、容,也可以包含标记体内容,也可以不包含。可以不包含。n当不包含体内容时,语法格式如下:当不包含体内容时,语法格式如下:n其中其中 属性属性default的值为当变量的值为当变量var不存在不存在时,标记缺省显示的内容。时,标记缺省显示的内容。n当包含体内容时,标记当包含体内容时,标记的语法格式如的语法格式如下:下:这里是这里是BODY,可以是任何合法的,可以是任何合法的jsp或者或者 是是html代码。代码。程序程序72:c_out.jsp JSTL:c:out的使用的使用 c:out value=以下输出的是前面设置的属性以下输出的是前面设置的属性 escapeXml=false/对不起,对

14、不起,sessionAttr变量不存在变量不存在 对不起,对不起,test_B变量不存在变量不存在 n标记标记:用于在某个范围:用于在某个范围(page,request,session或或application)里面设置特定的变量,或者设里面设置特定的变量,或者设置某个已经存在的置某个已经存在的Javabean的属性。其功能类似于的属性。其功能类似于。n当不包含标记体内容时,语法如下:当不包含标记体内容时,语法如下:/n其中:属性其中:属性var为设置的变量的名称,为设置的变量的名称,value为变量为变量的值,的值,scope为可选属性,表示设置变量的范围,为可选属性,表示设置变量的范围,缺

15、省为缺省为page。标记标记n当标记包含体内容时,当标记包含体内容时,语法如下:语法如下:Body contentn由于包含体内容时,将采用体内容作为变由于包含体内容时,将采用体内容作为变量的初始值,因此,此时标记不能带有属量的初始值,因此,此时标记不能带有属性性value。标记标记n:删除某个变量。类似于删除某个变量。类似于n它的语法格式为:它的语法格式为:n其中:属性其中:属性var为要删除的变量的名称为要删除的变量的名称程序:程序:c_var.jsp JSTL:使用使用c:set 123456 标记标记n:捕捉嵌套在它内部的标记和脚捕捉嵌套在它内部的标记和脚本所抛出的异常。类似于本所抛出

16、的异常。类似于。n它的语法格式为:它的语法格式为:nested actionsn其中可选属性其中可选属性var用来保存捕捉到的异常信用来保存捕捉到的异常信息。息。程序:程序:c_catch.jsp JSTL:catch的使用的使用 异常:异常:异常异常 exception.getMessage=运行效果运行效果2.Core条件标记条件标记nCore标记中提供了以下四个标记来帮助标记中提供了以下四个标记来帮助JSP开发人员实现分支处理。它们是:开发人员实现分支处理。它们是:、和和标记标记n:类似于编程语言中的类似于编程语言中的if else语句。语句。n格式:格式:It is admin.n功能

17、:功能:若参数若参数role的值为的值为1,则显示,则显示It is admin,并将判断结果并将判断结果true保存在保存在user中。中。标记标记n标记:标记:用于实用于实现复杂判断,类似现复杂判断,类似if-else-if语句。语句。n格式举例:格式举例:not 2 ,it is 1 not 1,it is 2 not 1,2 3.core迭代标记迭代标记nCore标记中的迭代标记有两个:标记中的迭代标记有两个:、。标记标记n标记:标记:作用类似作用类似for循环语句。循环语句。n格式举例:格式举例:$i 标记标记n:可以根据某个分隔符来分可以根据某个分隔符来分隔指定的字符串。隔指定的字

18、符串。n格式举例:格式举例:$aValue4.Core的的URL操作标记操作标记nCore标记包含三个标记包含三个URL操作有关的标记,操作有关的标记,分别是分别是:,和,和,。n另外还有一个辅助标记另外还有一个辅助标记。标记标记n:包含另一个包含另一个jsp页面到本页面页面到本页面来。来。n格式举例:格式举例:标记标记n:用于得到一个用于得到一个URL地址。地址。n格式举例:格式举例:链接链接标记标记n:用于页面的重定向。用于页面的重定向。n格式举例:格式举例:标记标记n:用来为包含或重定向的页面传递用来为包含或重定向的页面传递参数参数,一般和一般和和和配合使配合使用。用。n格式举例:格式举

19、例:8.4 其他标记库其他标记库n除了除了core标记外,还有:标记外,还有:SQL标记标记Format标记标记XML标记标记自定义标记自定义标记1 SQL标记库标记库nJSTL的的 SQL标记库实现与关系数据库交标记库实现与关系数据库交互的功能,其中包括查询、更新、事务处互的功能,其中包括查询、更新、事务处理和设置数据源等强大功能。理和设置数据源等强大功能。n n n n n 2.Fomat标记库标记库n说明:说明:Fomat标记库用于实现程序的国际化和本标记库用于实现程序的国际化和本地化。地化。n国际化:国际化:是指应用程序所具有的一种功能特性,是指应用程序所具有的一种功能特性,具有国际化

20、特性的应用程序能够支持不同的语言具有国际化特性的应用程序能够支持不同的语言以及不同格式的日期、时间、货币等信息,而无以及不同格式的日期、时间、货币等信息,而无须软件修改。须软件修改。n本地化:本地化:是针对某一本地特性,如语言、文化、是针对某一本地特性,如语言、文化、习俗等特殊需求来设计和改造软件的过程。和特习俗等特殊需求来设计和改造软件的过程。和特殊的市场需求制造或改造产品的过程。用户在使殊的市场需求制造或改造产品的过程。用户在使用得当地本地化的产品时,可以使用其自己的语用得当地本地化的产品时,可以使用其自己的语言和文化习惯与产品互动。言和文化习惯与产品互动。n国际化的应用程序不需要任何改动

21、即可实现本地国际化的应用程序不需要任何改动即可实现本地化支持。化支持。标记库标记库nJSTL fmt 库中的定制标记主要分成四组库中的定制标记主要分成四组:允许开发人员设置本地化上下文;允许开发人员设置本地化上下文;对日期和数字进行格式化;对日期和数字进行格式化;对日期和数字进行解析;对日期和数字进行解析;对文本消息进行本地化。对文本消息进行本地化。3 XML标记库标记库n除了使用除了使用core库外,库外,JSTL还专门为开发人还专门为开发人员提供了处理员提供了处理XML文件的标记库。文件的标记库。n该标记被分为了三类,分别是:该标记被分为了三类,分别是:lXML XML 核心标记:核心标记

22、:核心标记:核心标记:、。lXML XML 流控制标记:流控制标记:流控制标记:流控制标记:、。lXML XML 转换标记:转换标记:转换标记:转换标记:、。4.自定义标记库自定义标记库nJSP页面中允许程序员自己编写自定义标页面中允许程序员自己编写自定义标签来完成某种特定的功能签来完成某种特定的功能。n自定义标签需要创建一个自定义标签需要创建一个.tld文件文件,其所实其所实现的功能由对应的现的功能由对应的java类文件来完成。类文件来完成。本章小结本章小结n本章主要内容:本章主要内容:n8.1 EL表达式表达式重点重点n8.2 JSTL标签库标签库重点重点n8.3 Core标签库标签库重点重点n8.4 其他标签库其他标签库了解了解

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com