第九章、使用JSTL标签库.ppt
《第九章、使用JSTL标签库.ppt》由会员分享,可在线阅读,更多相关《第九章、使用JSTL标签库.ppt(154页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第九章第九章 使用使用JSTL标签库标签库 JSP定制标签简介定制标签简介JSTL 1.0简介简介EL语言简介语言简介核心标签库核心标签库(Core tag library)数据库标签库数据库标签库在本节中,您将了解以下内容:在本节中,您将了解以下内容:什么是JSP定制标签如何使用JSP定制标签库第三方定制标签库 JSP定制标签简介定制标签简介什么是什么是JSP定制标签定制标签J JS SP P定定制制标标签签简简介介9.19.1节节混乱的JSP页面JSP页面使用的语法与HTML相似,很容易生成动态WEB页面。在JSP页面中使用Java脚本使得JSP页面的编制非常简单和灵活。但是,如果JSP页
2、面中含有太多的脚本,将会使得JSP页面凌乱不堪,毫无维护性可言。如:%String items=cart.getItems();for(int i=0;i JSP定制标签简介定制标签简介9.1.1 什么是什么是JSP定制标签定制标签J JS SP P定定制制标标签签简简介介9.19.1节节简化简化JSP页面的二种方案页面的二种方案1.JavaBean在JSP中使用JavaBean可以使JSP页面获得简化。但缺点是它不知道所处页面的外在环境JSP页面编制人员使用时也很不直观。2.JSP定制标签定制标签在JSP中使用JSP定制标签替代JSP脚本元素JSP定制标签由Web服务器端一个特殊的Java类
3、来处理,该类称作Tag Handler(标签处理器)J JSPSP定制标签示例定制标签示例:JSTL Helloworld Your Browser:9.1.1 什么是什么是JSP定制标签定制标签J JS SP P定定制制标标签签简简介介9.19.1节节将要用的标签库引用到将要用的标签库引用到JSP中中标签库中包含多个不同功能标签标签库中包含多个不同功能标签使用使用JSP标签标签输出一行输出一行在标签中,可轻松访问隐含对象在标签中,可轻松访问隐含对象标签处理器将标签分成几个部分标签处理器将标签分成几个部分从左至右依次处理:从左至右依次处理:1、9.1.1 什么是什么是JSP定制标签定制标签J
4、JS SP P定定制制标标签签简简介介9.19.1节节在在JSPJSP页面中用定制标签代替脚本元素,具有以下好处:页面中用定制标签代替脚本元素,具有以下好处:定制标签可重用性强,可以节省开发和测试时间定制标签提高了JSP的可读性和可维护性可以对定制标签定义属性,给定制标签属性赋值定制标签可以访问JSP页面的所有隐含对象定制标签可以嵌套从JSP 2.0版后,提倡用定制标签取代小脚本元素9.1.1 什么是什么是JSP定制标签定制标签J JS SP P定定制制标标签签简简介介9.19.1节节定制标签库定制标签库定制标签库是包含一个或多个定制标签的包定制标签库由以下几个部分组成:若干个标签处理器(若干
5、个标签处理器(Tag Handler)标签处理器是一个实现javax.servlet.jsp.tagext.Tag接口的Java类,定制标签的功能由该类来实现一个定制标签对应一个标签处理器标签库描述标签库描述TLD文件文件(Tag Library Descriptor File)是后缀为.tld的XML文件包含了定制标签的元信息,如定制标签的名称、属性、标签处理器类等信息。9.1.2 如何使用如何使用JSP定制标签库定制标签库 J JS SP P定定制制标标签签简简介介9.19.1节节在在JSPJSP中使用定制标签的步骤:中使用定制标签的步骤:在web.xml文件中添加对定制标签库TLD文件的
6、引用在JSP页面中通过taglib指令元素引入要使用的定制标签库在JSP页面中调用定制标签一、在一、在web.xmlweb.xml文件中添加对定制标签库文件中添加对定制标签库TLDTLD文件的引用。文件的引用。调用元素来说明。元素包含两个子元素:指定TLD文件所对应的URI。:指定TLD文件的存放位置。示例:在web.xml内添加TLD文件:.http:/ /WEB-INF/MyTL.tld .9.1.2 如何使用如何使用JSP定制标签库定制标签库 J JS SP P定定制制标标签签简简介介9.19.1节节此处的此处的uri并不是真实的并不是真实的uri而是对而是对TLD文件位置的一种命名方式
7、,文件位置的一种命名方式,可以看作是可以看作是TLD文件的一个别名文件的一个别名在在Web.XML中配置标签库之前,应中配置标签库之前,应确保已经将标签库及其确保已经将标签库及其TLD文件拷贝文件拷贝到到Web应用下的指定位置。应用下的指定位置。9.1.2 如何使用如何使用JSP定制标签库定制标签库 J JS SP P定定制制标标签签简简介介9.19.1节节二、在二、在JSP页面中包含对要使用的定制标签的引用。页面中包含对要使用的定制标签的引用。在JSP内使用定义标签之前,要先在JSP内使用taglib指令来声明TLD所在的位置。taglib指令包含两个属性:uri:指明定制标签的TLD所在的
8、位置。uri属性应与web.xml文件中声明的元素的值相同。prefix:指定在JSP内使用定制标签时的前置字符串(前缀)。示例:注意:注意:该uri并不是标明标签库存放的网络位置,而是TLD文件的别名,该别名应与Web.XML中元素值相同在JSP中调用该标签库的标签时,都要添加该前缀 如:9.1.2 如何使用如何使用JSP定制标签库定制标签库 J JS SP P定定制制标标签签简简介介9.19.1节节三、在三、在JSP中调用定制标签中调用定制标签定制标签的语法格式是与HTML相似的,例如:其功能与下面的脚本元素相同(依MyTL:out 的定义而异):利用标签,可以在简洁的语法中实现比上例更复
9、杂的功能。9.1.2 如何使用如何使用JSP定制标签库定制标签库 J JS SP P定定制制标标签签简简介介9.19.1节节当遇到以下标签时,JSP引擎处理步骤如下:翻译成 并执行查找指令,获取前缀 c对应于的标签 uri根据uri,在Web.XML文件中找到TLD文件位置在TLD文件中找到标签处理器类文件的位置并加载它9.1.3 第三方第三方JSP定制标签库定制标签库 J JS SP P定定制制标标签签简简介介9.19.1节节建议使用专业软件厂家建议使用专业软件厂家(第三方第三方)开发的定制标签库开发的定制标签库与自行开发定制标签相比,使用专业软件厂家提供的标签库具有如下优势专业软件厂家提供
10、的标签库都经过了认真的测试、调试,并提供了比较详细的文档,质量有保证不少专业软件厂家提供的标签库是开源且免费的,例如Struts、Jakarta Taglibs等开放源代码项目,可以节省开发成本9.1.3 第三方第三方JSP定制标签库定制标签库 J JS SP P定定制制标标签签简简介介9.19.1节节如何选用如何选用专业软件厂家开发的专业软件厂家开发的定制标签库定制标签库除了成本和开发周期上的考虑外,在选择专业软件厂家开发的标签库时还应考虑以下几点:JSP版本版本通常定制标签库都是基于某一特定的JSP版本开发的,较高JSP版本平台上开发的标签库是不能在较低的JSP服务器上使用的,例如,JST
11、L1.1版本标签库只能在支持Servlet2.4/JSP2.0版本的Web服务器(Tomcat 5.x)上正常使用是否得到广泛支持是否得到广泛支持应注意该标签库是否得到了广泛的技术支持。虽然不是必须的,但考虑到升级与维护等问题,特别是商业化标签库,这点十分重要。是否遵循规范的标准是否遵循规范的标准考察该标签库是否代表或实现了某种标准。最好采用代表或实现某种标准的标签库,便于今后的升级与维护。9.1.3 第三方第三方JSP定制标签库定制标签库 J JS SP P定定制制标标签签简简介介9.19.1节节免费的专业软件厂家开发的定制标签库免费的专业软件厂家开发的定制标签库目前免费的、且得到广泛应用的
12、定制标签库有:Struts Framwork标签库标签库Jakarta TaglibsJSP标准标签库标准标签库(JSTL,JSP Standard Tag Library)本章将详细讲解JSTL标准标签库标准标签库 1.0版版第九章第九章 使用使用JSTL标签库标签库 JSP定制标签简介定制标签简介JSTL 1.0简介简介EL语言简介语言简介核心标签库核心标签库(Core tag library)数据库标签库数据库标签库在本节中,您将了解在本节中,您将了解JSTL1.0JSTL1.0的常识,掌握在的常识,掌握在JSPJSP页面中页面中使用使用JSTLJSTL标签库的步骤和方法:标签库的步骤和
13、方法:1.将将JSTL部署到部署到Web应用中应用中2.在在Web.xml中配置中配置JSTL库库3.在在JSP页面中引用页面中引用JSTL库库4.在在JSP页面中使用页面中使用JSTL标签标签 JSTL 1.0简介简介什么是什么是JSTLJSTL 1.0简简介介9.29.2节节What?JSTL全名为JavaServer Pages Standard Tag Library,是由JCP(Java Community Process)所制定的标准规范,它的实现形式主要是提供给Java Web开发人员一个标准通用的标签函数库。Where?JSTL目前广泛应用的版本是1.0,最新的版本为1.1版,
14、都是可免费下载的。在使用JBuilder9.0开发Web应用程序时,也可获得一个其随带的JSTL1.0。How?Web程序员能够非常简洁地利用JSTL和JSP表达式语言(EL,Expression Language)来开发Web应用程序,而不是在页面上嵌入Java程序(JSP 脚本)的做法,这样可以提高程序的阅读性、维护性和方便性。JSTL 1.0简介简介9.2.2 将将JSTL部署到部署到Web应用应用JSTL 1.0简简介介9.29.2节节JSTL标签库是可以免费下载的,其二进制下载地址为:http:/jakarta.apache.org/builds/jakarta-taglibs/re
15、leases/standard/JSTL 标签库的源代码也可以下载,地址为:http:/jakarta.apache.org/builds/jakarta-taglibs/nightly/src若选择前者,下载得到的jakarta-taglibs-standard-current.zip是已编译的二进制文件。解压缩该文件,然后将其中的三个JAR文件(分别是standard.jar、jstl.jar、js.jar)复制到自己的Web应用程序的以下目录中:WEB-INF/lib这样我们的Web应用程序的JSP页面中就可以使用JSTL标签库了。9.2.2 将将JSTL部署到部署到Web应用应用JST
16、L 1.0简简介介9.29.2节节JSTL所提供的标签函数库从功能上主要分四大类,如表所示:分类分类前缀前缀URI示例示例核心标签库核心标签库 c http:/ I18N格式标签库 fmt http:/ SQL标签库标签库 sql http:/ XML标签库 xml http:/ 函数标签库fnhttp:/ Language)和RT(JSP请求时表达式)两个函数库EL标签库完全应用Expression Language,使用简单,建议使用。RT标签库则由于使用JSP脚本、使用较麻烦,不推荐使用。EL已并入JSTL 2.0版中,不再划分EL和RT,且可在JSP直接用EL 9.2.2 在在Web.
17、xml中配置中配置JSTL库库JSTL 1.0简简介介9.29.2节节为了在Web应用中引用JSTL,还需在web.xml文件中添加对JSTL各TLD文件的引用,如:.http:/ /WEB-INF/c.tld http:/ /WEB-INF/sql.tld .9.2.2 在在Web.xml中配置中配置JSTL库库JSTL 1.0简简介介9.29.2节节若使用JBuilder9.0开发项目,则我们可在创建Web应用项目时,将JSTL库文件引入Web应用中,可达到配置Web.XML文件的效果。选择选择JSTL1.0后后JBuilder会将会将JSTL库文件拷贝放入库文件拷贝放入Web应用的适当位
18、置应用的适当位置并且在并且在Web.XML中中建立建立映射映射9.2.3 在页面中引用在页面中引用JSTL库库JSTL 1.0简简介介9.29.2节节为了在JSP页面中使用JSTL标签作准备,应在JSP页面前部添加下列的taglib指令代码:uri属性:应与web.xml文件中声明的元素的值相同prefix属性:可由用户自行设置,但对JSTL常用约定的前置名称该指令将所有c打头的JSP标签与别名为http:/ 在页面中引用在页面中引用JSTL库库JSTL 1.0简简介介9.29.2节节在JBuilder9.0中添加新JSP页时,也使用以下操作完成相同结果。若选中若选中JSTL 1.0/core
19、新创建的新创建的JSP页面将包页面将包含对含对JSTL1.0核心库核心库EL版的引用版的引用注意注意:JSTL 1.0/core RT 代表代表JSTL1.0核心库核心库EL版,一般不用版,一般不用9.2.4 在在JSP页面中使用页面中使用JSTL标签标签 JSTL 1.0简简介介9.29.2节节当上述步骤都执行后,Jbuilder将自动完成下列操作:在Web-info/lib目录下有了JSTL的一份拷贝;在Web.XML文件中使用元素对JSTL的相关标签库进行了映射在JSP页面文件前段添加了指令元素此后就可以在JSP页面中使用JSTL标签。例如,在需要的地方添加:9.2.4 在在JSP页面中
20、使用页面中使用JSTL标签标签 JSTL 1.0简简介介9.29.2节节示例:一个使用了JSTL标签的JSP页面程序:-HelloJSTL.jsp-JSTL HelloworldYour Browser:9.2.4 在在JSP页面中使用页面中使用JSTL标签标签 JSTL 1.0简简介介9.29.2节节HelloJSTL.jsp运行结果如下:9.2.4 在在JSP页面中使用页面中使用JSTL标签标签 JSTL 1.0简简介介9.29.2节节几点说明:上述Web.xml和中uri和prefix都是采用约定俗成命名,你也可以自行命名uri和prefix,例如:将uri指定成http:/mycomp
21、any/anyName,将prefix指定成为MyTL并在Web.xml和JSP页面中进行相应的修改即可。但是这样做有以下弊端:由于不是约定俗成的命名,因此不受JBuilder等通用开发环境的支持;不便于交流;不便于uri和前缀名称的维护对于JSTL,可省略Web.XML文件中的元素配置工作这时,JSP引擎将使用约定俗成的uri表示各JSTL库。如:用http:/ 表示JSTL核心EL库。第九章第九章 使用使用JSTL标签库标签库 JSP定制标签简介定制标签简介JSTL 1.0简介简介EL语言简介语言简介核心标签库核心标签库(Core tag library)数据库标签库数据库标签库学习目标学
22、习目标通过本节的学习,您将能够熟练掌握EL表达式语言的基本语法,并能够在编写JSP时熟练应用EL表达式语言。EL语言简介语言简介EL语言简介语言简介什么是什么是JSP EL语言语言EL语语言言简简介介9.39.3节节EL全名为Expression Language,它是JSTL 1.0为方便存方便存取数据取数据所自定义的语言,使用起来非常简洁。在JSP 2.0版本中,EL已经正式纳入其标准规范。只要是支持Servlet 2.4 和JSP 2.0的Web容器,都可以在JSP网页网页中直接使用中直接使用EL(这之前只能在JDSL标签中使用EL)。Tomcat 5.x,JBuilder X支持Ser
23、vlet 2.4 和JSP 2.0除了JSP 2.0建议使用EL之外,JavaServer Faces(JSR-127)也考虑将EL纳入规范,由此可知,EL如今已经是一项成熟、标准的技术。什么是什么是JSP EL语言语言EL语语言言简简介介9.39.3节节在本节中,主要学习以下内容在本节中,主要学习以下内容1EL基本语法(在javax.servlet.jsp.el中定义)2EL隐含对象的概念3EL运算符的概念在本小节中,主要学习以下内容在本小节中,主要学习以下内容1 与与 运算符运算符2 2ELEL变量变量3 3自动类型转换自动类型转换4 4ELEL保留字保留字9.3.1 EL基本语法基本语法
24、EL语语言言简简介介9.39.3节节9.3.1 EL基本语法基本语法EL语语言言简简介介9.39.3节节EL基本语法:EL中最重要的部分是表达式。其语法格式:$表达式 以$起始、以起始、以结尾的结尾的字符串字符串表达式由变量、隐含对象和运算符等组成例如:$sessionScope.user.sex上面EL表达式含义:从Session作用范围中,取得属性user的属性sex。它的作用与下面的JSP 脚本一致:User user=(User)session.getAttribute(user);String sex=user.getSex();两相比较,EL表达式更加简洁 9.3.1 EL基本语法
25、基本语法EL语语言言简简介介9.39.3节节1.与 运算符EL表达式中以.和 两种运算符来存取对象的属性数据,如$sessionScope.user.sex$sessionScope.usersex需要说明的是1.上述两个表达式是等价的,而且.和 在很多情况下是可混用的:$sessionScope.shoppingCart3.price2.但当属性名中包含一些特殊字符,如.或等符号时,只能用,例如正确写法:$headerUser-Agent 错误写法:$header.User-Agent1.若属性名仅在运行时才能确定(即动态取值),只能用 。例如:$sessionScope.userdata,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第九 使用 JSTL 标签
限制150内