JSP应用开发与实践 教学课件 ppt 作者 刘乃琦 王冲 第11章 JSTL核心标签库

上传人:E**** 文档编号:89370273 上传时间:2019-05-24 格式:PPT 页数:73 大小:2.80MB
返回 下载 相关 举报
JSP应用开发与实践 教学课件 ppt 作者  刘乃琦 王冲 第11章  JSTL核心标签库_第1页
第1页 / 共73页
JSP应用开发与实践 教学课件 ppt 作者  刘乃琦 王冲 第11章  JSTL核心标签库_第2页
第2页 / 共73页
JSP应用开发与实践 教学课件 ppt 作者  刘乃琦 王冲 第11章  JSTL核心标签库_第3页
第3页 / 共73页
JSP应用开发与实践 教学课件 ppt 作者  刘乃琦 王冲 第11章  JSTL核心标签库_第4页
第4页 / 共73页
JSP应用开发与实践 教学课件 ppt 作者  刘乃琦 王冲 第11章  JSTL核心标签库_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《JSP应用开发与实践 教学课件 ppt 作者 刘乃琦 王冲 第11章 JSTL核心标签库》由会员分享,可在线阅读,更多相关《JSP应用开发与实践 教学课件 ppt 作者 刘乃琦 王冲 第11章 JSTL核心标签库(73页珍藏版)》请在金锄头文库上搜索。

1、,本章要求:,第11章 JSTL核心标签库,如何引用JSTL提供的各种标签库 如何下载与配置JSTL 如何使用JSTL提供的表达式标签 如何使用JSTL提供的URL相关的标签 如何使用JSTL提供的流程控制标签 如何使用JSTL提供的循环标签,主要内容,1. JSTL标签库简介 2. JSTL的下载与配置 3. 表达式标签 4. URL相关标签 5. 流程控制标签 6. 循环标签 7. 综合实例JSTL在电子商城中的应用,第11章 JSTL核心标签库,11.1 JSTL标签库简介,虽然JSTL叫做标准标签库,实际上它是由5个功能不同的标签库组成。这5个标签库分别是核心标签库、格式标签库、SQL

2、标签库、XML标签库和函数标签库等。在使用这些标签之前必须在JSP页面的顶部使用指令定义引用的标签库和访问前缀。 使用核心标签库的taglib指令格式如下: 使用格式标签库的taglib指令格式如下: 使用SQL标签库的taglib指令格式如下: 使用XML标签库的taglib指令格式如下: 使用函数标签库的taglib指令格式如下: ,下面我们就来对JSTL提供的这5个标签库分别进行简要介绍。 核心标签库 核心标签库主要用于完成JSP页面的常用功能,包括JSTL的表达式标签、URL标签、流程控制标签和循环标签共4种标签。其中,表达式标签包括、和;URL标签包括、和;流程控制标签包括、和;循环

3、标签包括和。这些标签的基本作用如表11-1所示。 表11-1 核心标签库,格式标签库 格式标签库提供了一个简单的国际化标记,也被称为I18N标签库,用于处理和解决国际化相关的问题,另外,格式标签库中还包含用于格式化数字和日期显示格式的标签。由于该标签库在实际项目开发中并不经常应用,这里不做详细介绍。 SQL标签库 SQL标签库提供了基本的访问关系型数据的能力。使用SQL标签,可以简化对数据库的访问。如果结合核心标签库,可以方便地获取结果集,并迭代输出结果集中的数据。由于该标签库在实际项目开发中并不经常应用,这里不做详细介绍。 XML标签库 XML标签库可以处理和生成XML的标记,使用这些标记可

4、以很方便地开发基于XML的Web应用。由于该标签库在实际项目开发中并不经常应用,这里不做详细介绍。 函数标签库 函数标签库提供了一系列字符串操作函数,用于完成分解字符串、连接字符串、返回子串、确定字符串是否包含特定的子串等功能。由于该标签库在实际项目开发中并不经常应用,这里不做详细介绍。,11.2.1 下载JSTL标签库 11.2.2 配置JSTL,11.2 JSTL的下载与配置,JSTL标签库可以到http:/ API超链接(用于下载JSTL的API),另一个是JSTL Implementation超链接(用于下载JSTL的实现Implementation)。单击JSTL API超链接下载J

5、STL的API,下载后的文件名为javax.servlet.jsp.jstl-api-1.2.1.jar;单击JSTL Implementation超链接下载JSTL的实现Implementation,下载后的文件名为javax.servlet.jsp.jstl-1.2.1.jar。,11.2.1 下载JSTL标签库,JSTL的标签库下载完毕后,就可以在Web应用中配置JSTL标签库。配置JSTL标签库有两种方法,一种是直接将javax.servlet.jsp.jstl-api-1.2.1.jar和javax.servlet.jsp.jstl-1.2.1.jar复制到Web应用的WEB-INF

6、lib目录中即可;另一种是在Eclipse中通过配置构建路径的方法进行添加。在Eclipse中通过配置构建路径的方法添加JSTL标签库的具体步骤如下。 (1)在项目名称节点上,单击鼠标右键,在弹出的快捷菜单中选择“构建路径”/“配置构建路径”菜单项,将打开Java构建路径对话框,在该对话框中,单击“添加库”按钮,将打开添加库对话框,选择“用户库”节点,单击“下一步”按钮,将打开如图11-1所示的对话框。 图11-1 “添加库”对话框,11.2.2 配置JSTL,(2)单击“用户库”按钮,将打开“首选项”对话框,在该对话框中,单击“新建”按钮,将打开“新建用户库”对话框,在该对话框中输入用户库名

7、称,这里为JSTL 1.2.1,如图11-2所示。 图11-2 “新建用户库”对话框,(3)单击“确定”按钮,返回到“首选项”对话框,在该对话框中将显示刚刚创建的用户库,如图11-3所示。 图11-3 “首选项”对话框,(4)选中JSTL 1.2.1节点,单击“添加JAR”按钮,在打开的“选择JAR”对话框中,选择刚刚下载的JSTL标签库,如图11-4所示。 图11-4 选择JSTL标签库,(5)单击“打开”按钮,将返回到如图11-5所示的“首选项”对话框中。 图11-5 添加Jar后的“首选项”对话框,11.3 表达式标签,11.3.1 输出标签 11.3.2 变量设置标签 11.3.3 变

8、量移除标签 11.3.4 捕获异常标签,11.3.1 输出标签,标签用于将表达式的值输出到JSP页面中,该标签类似于JST的表达式,或者EL表达式$expression。标签有两种语法格式,一种没有标签体,另一种有标签体,这两种语言的输出结果完全相同。标签的具体语法格式如下: 语法1没有标签体: 语法2有标签体: defalultValue value属性:用于指定将要输出的变量或表达式。该属性值的类似为Object,可以使用EL。 escapeXml属性:可选属性,用于指定是否转换特殊字符,可以被转换的字符如表11-2所示。其属性值为true或false,默认值为true,表示转换。默认值为

9、true,表示转换,即将HTML标签转换为转义字符,在页面中显示出了HTML标签;如果属性值为false,则将其中的html、xml解析出来。例如,将“”转换为“”。,表11-2 被转换的字符 default属性:可选属性,用于指定当value属性值等于null时,将要显示的默认值。如果没有指定该属性,并且value属性的值为null,该标签将输出空的字符串。 【例11-1】 应用标签输出字符串“水平线标记”。 编写index.jsp文件,在该文件中,首先应用taglib指令引用JSTL的核心标签库,然后添加两个标签,用于输出字符串“水平线标记”,这两个标签的escapeXml属性的值分别为t

10、rue和false。index.jsp文件的具体代码如下: 应用” escapeXml属性为true时: “ escapeXml=“true“ escapeXml属性为false时: “ escapeXml=“false“ ,运行本实例,将显示如图11-10所示的运行结果。 图11-10 运行结果,从图11-10中,我们可以看出当scapeXml属性值为true时,输出字符串中的被以字符串的形式输出了,而当scapeXml属性值为false时,字符串中的则被当作HTML标记进行输出。这是因为,当scapeXml属性值为true时,已经将字符串中的符号转换为对应的实体代码,所以在输出时,就不会被

11、当作HTML标记进行输出了。这一点,可以通过查看源代码看出。本实例在运行后,将得到下面的源代码。 应用 escapeXml属性为false时: 水平线标记 ,标签用于在指定范围(page、request、session或application)中定义保存某个值的变量,或为指定的对象设置属性值。使用该标签可以在页面中定义变量,而不用在JSP页面中嵌入打乱HTML排版的Java代码。标签有4种语法格式。 语法1:在scope指定的范围内将变量值存储到变量中。 语法2:在scope指定的范围内将标签体存储到变量中。 标签体 语法3:将变量值存储在target属性指定的目标对象的propName属性中

12、。 语法4:将标签体存储到target属性指定的目标对象的propName属性中。 标签体 ,11.3.2 变量设置标签,标签的属性说明如表11-3所示。 表11-3 标签的属性说明 注意: target属性不能是直接指定的JavaBean或Map,而应该是使用EL表达式或一个脚本表达式指定的真正对象。这个对象可以是通过例如,要为JavaBean“CartForm”的id属性赋值,那么target属性值应该是target=“$cart“,而不应该是target=“cart“。其中cart为CartForm的对象。,【例11-2】 应用标签定义变量和为JavaBean属性赋值。 (1)编写一个名

13、称为UserInfo的JavaBean,并保存到com.wgh包中。在该JavaBean中添加一个name属性,并为该属性添加对应的Setter和Getter方法,具体代码如下: package com.wgh; public class UserInfo private String name=“; /名称属性 public void setName(String name) this.name = name; public String getName() return name; ,(2)编写index.jsp文件,在该文件中,首先应用taglib指令引用JSTL的核心标签库,然后应用标

14、签定义一个request范围内的变量username,并应用标签输出该变量,接下来再应用动作标识创建JavaBean的实例,最后应用标签为JavaBean中的name属性设置属性值,并应用标签输出该属性。index.jsp文件的具体代码如下: 应用 定义request范围内的变量username 设置UserInfo对象的name属性 wgh ,运行本实例,将显示如图11-11所示的运行结果。 图11-11 运行结果,在使用语法3和语法4时,如果target属性值为null、属性值不是java.util.Map对象或者不是JavaBean对象的有效属性,将抛出如图11-12所示的异常。如果读者

15、在程序开发过程中遇到类似的异常信息需要检查target属性的值是否合法。 图11-12 target属性值不合法时产生的异常,如果在使用标签的语法3和语法4时,产生如图11-13所示的异常信息,这时因为该标签的property属性值指定了一个target属性指定Map对象或是JavaBean对象中不存在的属性而产生的。 图11-13 property属性值不合法时产生的异常,标签用于移除指定的JSP范围内的变量,其语法格式如下: var属性:用于指定要移除的变量名。 scope属性:用于指定变量的有效范围,可选值有page、request、session、application。默认值是pag

16、e。如果在该标签中没有指定变量的有效范围,那么将分别在page、request、session和application的范围内查找要移除的变量并移除。例如,在一个页面中,存在不同范围的两个同名变量,当不指定范围时移除该变量,这两个范围内的变量都将被移除。为此,在以移除变量时,最好指定变量的有效范围。 说明:当指定的要移除的变量并不存在时,并不会抛出异常。,11.3.3 变量移除标签,【例11-3】 应用标签移除变量。 编写index.jsp文件,在该文件中,首先应用taglib指令引用JSTL的核心标签库,然后应用标签定义一个request范围内的变量softName,并应用标签输出该变量,接下来应用标签移除变量softName,最后再应用标签输出变量softName。index.j

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号