JSTL标准标签库_第1页
JSTL标准标签库_第2页
JSTL标准标签库_第3页
JSTL标准标签库_第4页
JSTL标准标签库_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Core Java第五讲JSP标准标签库(JSTL)Java EE2纲要q JSTL简介q JSTL的下载与安装q Core标签库的使用Java EE31. JSTL简介简介(1)什么是什么是JSTL?nJSTL (JSP Standard Tag Library, JSP标准标签库标准标签库)是一个开源项目,是一个标准的已定制好的是一个开源项目,是一个标准的已定制好的JSP标签库。它可标签库。它可以替代以替代Java代码实现各种功能,如:输入输出、流程控制、代码实现各种功能,如:输入输出、流程控制、迭代、数据库查询及国际化的应用等。迭代、数据库查询及国际化的应用等。(2)使用使用JSTL的好

2、处:的好处:n简化简化JSP和和WEB程序的开发,可以大大减少程序的开发,可以大大减少JSP中脚本代码中脚本代码的数量,甚至可以不用脚本代码;的数量,甚至可以不用脚本代码;n提供一组标准标签,可用于编写各种动态提供一组标准标签,可用于编写各种动态 JSP 页面页面Java EE4(3)JSTL提供的标签库主要分为五大类:提供的标签库主要分为五大类:n核心标签库核心标签库 (Core tag library)n表达式操作、流程控制、迭代、表达式操作、流程控制、迭代、URL操作操作nI18N 格式标签库格式标签库 (I18N-capable formatting tag library)n国际化、

3、文字格式标准化国际化、文字格式标准化nSQL 标签库标签库 (SQL tag library)n数据库查询数据库查询nXML 标签库标签库 (XML tag library)nXML文件的剖析文件的剖析n函数标签库函数标签库 (Functions tag library)Java EE5JSTL前置前置名称名称URI范例范例核心标签库核心标签库chttp:/ 标签库标签库sqlhttp:/ 标签库标签库xmlhttp:/ value=“ /例如:在标准的JSP页面中,会这样编写:使用JSTL搭配传统写法:使用JSTL搭配EL写法:Java EE62. JSTL的下载与安装的下载与安装(1)下载

4、下载jstl.jar和和standard.jar(2)安装安装n将上述两个文件直接复制到应用程序的将上述两个文件直接复制到应用程序的WEB-INFlib目录下即可目录下即可n在在MyEclipse等开发工具中,已包含等开发工具中,已包含JSTL内容,不必下载、安内容,不必下载、安装,装,只要在创建只要在创建web项目时选择项目时选择JSTL即可即可,如下图所示:,如下图所示:Java EE73、JSTL核心标签库核心标签库格式格式:n n 核心标签库(Core)主要有:基本输入输出/表达式操作、流程控制、迭代操作和URL 操作。分类功能分类标签名称Core表达式操作out set remove

5、 catch流程控制If choose when otherwise迭代操作forEach forTokensURL操作import url redirect param Java EE8 表达式操作:表达式操作: 包括包括4个标签个标签、1) 功能:功能:主要用来显示数据的内容,主要用来显示数据的内容,如同如同 例例: 格式格式:n 格式格式1:没有没有标签标签体体n 格式格式2:有有标签标签体内容体内容默认值默认值Java EE9说明:n只有当只有当value的值为的值为null时,才会输出缺省值;时,才会输出缺省值;n default属性不能与标签体同时出现属性不能与标签体同时出现;n

6、escapeXml属性属性用来控制一些特殊字符用来控制一些特殊字符(如:如:、”、&等等)是否进行转换,默认值为是否进行转换,默认值为true,即默认会将 、” 和和 & 转换为转换为 <、>、'、" 和和 &;若不想转换时,只需设为false即可。Java EE10 c:out value=有特殊字符有特殊字符: & /c:out value=有特殊字符有特殊字符: & escapeXml=false /Java EE11Java EE12 2) 功能:功能:用来用来将变量存储在将

7、变量存储在JSP范围中或范围中或JavaBean的属性中。的属性中。 格式格式:n格式格式1:将将 value的值储存在的值储存在scope的范围内的范围内的的 varName 变量变量中中 n格式格式2:将:将标签标签体体的的内容内容储存在储存在scope范围内的范围内的 varName 变量变量中中 标签标签体内容体内容 n格式格式3:将:将 value 的值的值保保存至存至 target 对象的属性中对象的属性中 Java EE13n格式格式4:将将标签标签体体的的内容内容保保存至存至 target 对象的属性中对象的属性中 标签标签体内容体内容 Java EE14 zxx输出sessi

8、on 作用域中的userNamer属性的值:输出session 作用域中的bookname属性的值:Java EE15 4) 功能:功能:主要用来主要用来捕获捕获异常,并将异常,并将异常异常信息储存起来信息储存起来 格式格式:欲欲捕获异常的部分捕获异常的部分 3) 功能:功能:用用移除某个变量移除某个变量 格式格式:储存错误信息的变量Java EE16 a123456a在没有使用 <c:remove> 标签之前,变量的值为:company:passWord:在使用 <c:remove> 标签之后,变量的值为:company:passWor

9、d:Java EE17 1) 条件判断条件判断 格式格式:n格式格式1:没有没有标签标签体体,如果条件为,如果条件为true,就给变量赋值,就给变量赋值 n格式格式2:有有标签标签体内容体内容,若条件为,若条件为true,则输出具体内容,则输出具体内容 具体内容具体内容 注意:无注意:无else部分部分(2)流程控制:流程控制: 包括包括4个标签个标签 Java EE18 2) 多分支判断:多分支判断:类似于类似于switch语句语句 包括包括:、 和和 格式: body body body 说明:说明:n只能用作只能用作 和和 的父标签;的父标签;n放在最放在最后位置,当所有后位置,当所有

10、的条件都没有的条件都没有成立时,则执行成立时,则执行 。 Java EE19 对不起,没有符合您要求的记录。对不起,没有符合您要求的记录。 符合您要求的记录共有符合您要求的记录共有$count条条. Java EE20例:例:c_choose.jspJava EE21(3)迭代操作:迭代操作: 包括包括2个标签:个标签:、 1) 功能:功能:用于对一个集合中的元素进行循环迭代操作,或按指定的次数重用于对一个集合中的元素进行循环迭代操作,或按指定的次数重 复迭代执行标签体中的内容复迭代执行标签体中的内容 格式格式:n格式格式1:在集合对象中迭代:在集合对象中迭代 标签体内容标签体内容 Java

11、EE22n格式格式2:按指定次数进行迭代:按指定次数进行迭代 标签体内容标签体内容n说明:说明:若有若有begin 属性,属性,begin 必须大于等于必须大于等于 0若有若有end 属性,必须大于属性,必须大于begin若有若有step 属性,属性,step 必须大于等于必须大于等于0Java EE23Java EE24$item$itemJava EE25说明:说明:n还提供还提供varStatus 属性属性:主要用来存放现在指主要用来存放现在指到之成员的相关信息;到之成员的相关信息;nvarStatus属性还有另外四个属性:属性还有另外四个属性:Java EE26的四种属性:的四种属性:

12、index:$s.indexcount:$s.countfirst:$s.firstlast:$s.lastJava EE27说明:说明:分隔符可是一个或多个分隔符可是一个或多个 2) 功能:功能:用来浏览一字符串中所有的成员,其成员是由定义符号用来浏览一字符串中所有的成员,其成员是由定义符号 (delimiters)所分隔的所分隔的格式格式: 标签标签体内容体内容 Java EE28 例:例:$item$itemJava EE29 例:例:$item$itemJava EE30(4)URL操作:操作: 包括包括4个标签个标签功能:功能:用来将其用来将其它它文件的内容包含起来、网页文件的内容包

13、含起来、网页跳转跳转,及及url 的产生的产生 1) 功能:功能:为其它标签为其它标签(、) 提供提供URL的附加参数,通常嵌入在这些标签中的附加参数,通常嵌入在这些标签中 格式格式: 或或 参数值参数值 Java EE31 格式格式1:标签体内容标签体内容 格式格式2:标签体内容标签体内容 2) 功能:功能:类似于类似于,但功能更加强大,但功能更加强大 格式格式:Java EE32Java EE33Java EE34 3) 功能:功能:主要用来产生一个主要用来产生一个URL,实现,实现URL重写重写 格式格式:n格式格式1:无标签内容:无标签内容 n格式格式2:有标签内容:有标签内容 标签标

14、签(代表查询字符串代表查询字符串(Query String)参数参数) Java EE35Java EE36使用使用url标签生成一个动态的标签生成一个动态的url,并把值存入,并把值存入session中中.Tomcat首页首页Java EE37 4) 功能:功能:实现实现URL跳转跳转 格式格式:n格式格式1:无标签内容:无标签内容 n格式格式2:有标签内容:有标签内容 (代表查询字符串代表查询字符串(Query String)参数参数) Java EE4. XML 标签库简介n XML标签库分类标签库分类Java EEn 上述标签的基本功能上述标签的基本功能:q :解析:解析 XML 文件

15、;文件;q :在:在解析后保存的变量中取得指定的解析后保存的变量中取得指定的 XML 文件内容,并显示在页面;文件内容,并显示在页面; q :将某个:将某个 XML 文件中元素的实体内容或属性保文件中元素的实体内容或属性保存到变量中;存到变量中;q :由:由 XPath 的判断得到结果,根据情况决定是否显的判断得到结果,根据情况决定是否显示其标签所包含的内容;示其标签所包含的内容;q 、和和:通常会放在:通常会放在一起使用,功能跟核心标签库中一起使用,功能跟核心标签库中 的的、和和相似,也是提供相似,也是提供“if-else if”语语句的功能;句的功能;q :对:对 XML 文件元素进行循环

16、控制。文件元素进行循环控制。Java EE5. 国际化标签库简介n 国际化标签库简介国际化标签库简介Java EE6. 数据库标签库简介n 数据库标签库可以为程序员提供在数据库标签库可以为程序员提供在 JSP 程序中与数据库程序中与数据库进行交互的功能。然而,由于与进行交互的功能。然而,由于与 数据库的交互的工作本数据库的交互的工作本身属于业务逻辑层,因此,身属于业务逻辑层,因此,数据库标签库其实是违背了多数据库标签库其实是违背了多层框架的思想层框架的思想n 数据库标签库包含数据库标签库包含 6 个标签:个标签: 、 、 、 、以及以及Java EE7. 函数标签库的使用n 函数标签库分类:函

17、数标签库分类:Java EEn 函数标签库的基本使用函数标签库的基本使用:q :计算传入对象计算传入对象(集合或集合或String) 的的长度长度$fn:length(对象对象) q :判断源字符串是否包括子字符串,返回判断源字符串是否包括子字符串,返回结果为结果为boolean型型 $fn:contains(源字符串源字符串,子字符串子字符串) q :功能同上,只是忽略大小功能同上,只是忽略大小写写 $fn:containsIgnoreCase(源字符串源字符串,子字符串子字符串) q :判断源字符串是否以子字符串开头,判断源字符串是否以子字符串开头,返回结果为返回结果为boolean型型$

18、fn:startsWith(源字符串源字符串, 指定字符串指定字符串) q :判断源字符串是否以子字符串结尾,返判断源字符串是否以子字符串结尾,返回结果为回结果为boolean型型$fn:endsWith(源字符串源字符串, 指定字符串指定字符串) Java EEq :将所有特殊字符转化为字符实体码将所有特殊字符转化为字符实体码 $fn:escapeXml(特殊字符特殊字符) q :得到子字符串与源字符串匹配的起始位置得到子字符串与源字符串匹配的起始位置 $fn:indexOf(源字符串源字符串, 指定字符串指定字符串) q :将将字符串数组中的每个字符串加上分隔符,连字符串数组中的每个字符串

19、加上分隔符,连接起来,得到新字符串接起来,得到新字符串 $fn:join(数组数组, 分隔符分隔符) q :源字符串指定被替换字符串由指定内容替源字符串指定被替换字符串由指定内容替换换 $fn:replace(源字符串源字符串,被替换字符串被替换字符串,替换字符串替换字符串) q :将一组由分隔符分隔的字符串转换成字符串数将一组由分隔符分隔的字符串转换成字符串数组,返回类型是字符串数组组,返回类型是字符串数组 $fn:split(源字符串源字符串,分隔符分隔符) Java EEq :取子串取子串(不包括结束位置不包括结束位置) $fn:substring(源字符串源字符串,起始位置,结束位置起始位置,结束位置) q :取子串,从指定字符串之后至字符取子串,从指定字符串之后至字符串结束的内容串结束的内容 $fn:substringAfter(源字符串源字符串,子字符串子字符串) q :取子串,从字符串开始至指定字取子串,从字符串开始至指定字符串之前的内容符

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论