




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程名称 Web 开发技术基础( Java ) 第 10 章 / 共 12 章 授课专业、层次 计算机应用技术(职专) 本章内容 自定义标签授课方式及学时 理论4学时 教学 目的 要求、 重点 与难 点 教学目的:学会在 JSP 页面定义自定义的标记(动作),掌握自定义标签的创建方式,为学生理解 JSTL 的实现做准备。 重点:标记文件中使用的指令和动作、简单标记的创建和打包重用。 难点:标记文件中使用的指令和动作、简单标记的创建和 TLD 描述文件的编写。 教 学 方 法 1 对于本章中涉及到的概念主要通过实例的方式讲解,并且对每个知识点讲解完后,总结一下注意事项。 2 通过提问和课堂练习来引导学生思考。 3 通过思考题的方式来引起学生对知识点的深入理解。 4 布置编写定制标签的课堂作业,让学生练习。 主 要 教 学 内 容 及 时 间 分 配 主要教学内容及时间安排: 标记文件 3 学时 简单标记和传统标记 -2 学时 所建标记的打包重用 -1 学时 教 学 后 记 审 阅 意 见 课程负责人签字: 年 月 日 教 学 设 计 课程名称 Web 开发技术基础( Java ) 授课专业、层次 计算机应用技术(职专) 本章内容 自定义标签授课方式及学时 理论4 学时 本章主要讲授: 自定义标记库 标记文件 标记文件的重用 简单标记 传统标记 标记库重用 其中重点讲解: 标记文件 简单标记 标记文件的打包使用 本章学习目的: 学会使用标记文件、简单标记定义 JSP 定制动作 为学习 JSTL 、理解 JSTL 的工作原理作好必要的知识准备。 自定义标记概述: JSP 自 1.1 版本便提供了自定义标签的机制,让设计人员可以自行建立自已的标签,并且在网页上直接使用,这种弹性的设计让 JSP 的标签功能可以无限的延伸。 自定义标记库是一个或多个自定义标记的集合。使用自定义标记库可以提高 Web 应用的可重用性和可靠性。使页面清晰、简洁,易于阅读和理解。 首先研究一下自定义标记的使用: 在使用自定义标记之前,必须先导入包含自定义标记的标记库。 方法是使用 taglib 指令 , 语法格式如下 : 在引入标记库后,就可以使用 XML 的语法格式来使用自定义标记了。 一般使用格式为 其中前缀就是在 taglib 中使用 prefix 属性定义的值,标记名是标记库中实际标记的名字。 例如:如果要在页面中使用标记库 myTagLib 中的 firstTag 标记,语句为: 如果标记体中还有本体内容,那么上述的标记则应该写成如下的格式: 标记体内容 自定义标记也可以包含属性。 标记内定义属性的方式为:属性名 = “属性值”。例如,有一个属性名为 user ,值为 Smith ;则定义方式为: 也可以通过在标记本体内使用 来指定属性值,如: Smith 自定义标记的分类: 在 JSP2.0 中定义标签的方式共有两种,一种是使用标签文件( Tag File ) , 一种是使用 javax.servlet.jsp.tagext 类库包中的类和接口来实现标签的自定义。 下面让我们分别来研究这两种自定义标签的方法: 首先我们先来研究一下标记文件。 标记文件是一种特殊的定制动作,它的开发于 JSP 页面非常类似,不同之处在于:标记文件只可以从 JSP 页面内部调用 标记文件的优点: 代码重用 代码的可读性 代码的可维护性 隐藏复杂性 问题分离 简单性 灵活的打包 一个标记文件和一个 JSP 文件的内容基本一样,只是标记文件的扩展名为“ .tag ”。 例: copyright.tag 本页面采用 JSP 实现,版权所有! HelloB 在 Tag 文件中可以使用许多指令,如 tag , taglib , include , attribute , variable 等等指令除 taglib 、 include 指令外其他指令只能在 tag 文件中使用。 下面我们分别研究这些指令的语法、属性以及用法: tag 指令: tag 指令的作用和常规 JSP 页面中的 page 指令相当,它负责处理标记文件中的一些全局属性,从而在总体上影响标记文件的处理和表示,以及影响如何在 JSP 文文件中使用标记文件。 其基本语法如下: 可选的属性名: 属性 说明 body-content 指示调用标记是标记体的本质特征。这个属性可取值为 empty 、 tagdependent 或 scriptless 。该属性为可选属性,默认值为 scriptless 。注 1 description 用于指定标记文件的描述信息,为可选属性。 display-name 这是标记的一个简单名,为可选属性,在 IDE 或 XML 工具使用,默认值是不带 tag 扩展名的标记文件 example 这是一个简单的示例,用来演示标记如何使用 import 这是一个可选属性,用于将类包或类导入到标记文件的页面中 isELIgnored 指示页面中是否忽略表达式语言,默认为 false language 标记中使用的脚本语言,默认值就是当前唯一的选择 java large-icon 使用该属性将标记与一图标相关联 pageEncoding 文件的编码方式。必须使用 INIA 编码名 small-icon 使用该属性将标记与一图标相关联 dynamic-attributes 指示可以向这个标记传递动态属性, dynamic attributes 属性的值将作为页面作用域 Map 对象的名,并在这个 Map 对象中存储动态属性的名值对 注 1 : empty 表示自定义标记中间不能够放置任何内容 scriptless 表示自定义标记文件中可以出现 html 标记、文本、标准动作、定制动作,但不能出现 java 脚本。 tagdependent 表示体内容被原封不动写入 BodyContent ,其它脚本元素以源码形式出现,而不被 JSP 容器解释。 tagshow.tag : %tag description= 该标签用于显示如何使用 tag 指令用于定制 tag file display-name=tagshow body-content=scriptless example= import=java.util.* isELIgnored=false language=java pageEncoding=GBK dynamic-attributes=var large-icon=./icon/ball_1.ico small-icon=./icon/ball_1.ico % $title 标签使用示例: tagshow TAG 属性演示 #314289 Professional JSP 2.0 Professional JSP 2.0 is now out. It covers all of the new features of the 2.0 specification, backed up by real world examples that you can take and adapt to your own projects. More information. Professional JSP 2.0 is now out. It covers all of the new features of the JS 2.0 specification, backed up by real world examples that you can take and ad to your own projects. More information. taglib 指令: 作用:将自定义的标记引入到 JSP 页面中,供在需要的地方使用。 attribute 指令 语法: 作用 允许从调用 JSP 页面向标记文件传递值 属性 说明 description 标记文件当前属性的描述,该属性是可选属性 fragment 该属性之处所传递的当前属性是否是一个片断属性,该属性为可选属性,默认值为 false name 对于当前属性所表示的值,要在标记文件的作用域中取一个名,在该标记文件中,就按照 name 属性指定的的明在引用当前属性的值,因此该属性的取值必须唯一,那么属性的之还会构成一个标记文件的名,在 JSP 页面文件中调用标记文件时,该标记属性可以向标记文件提供值,该属性为必选属性。 required 指示 JSP 页面调用定制标记时,当前属性是否必须提供,该属性为可选属性,默认值为 false rtexprvalue 指示动态表达式能够用于当前属性,默认值为 true type 所传递当前属性的类型,该属性的值为完全限定名,默认值为 java.lang.String 。 type 为可选属性。 使用的示例: attributeshow.tag : $title $author $publisher $pubDate $details attributeshow.jsp 使用标记文件模板:标记参数 #f90000 JSP 2.0 应用教程 陈旭东 等 清华大学出版社 北京交通大学出版社 2006.4 详细介绍 . JSP 2.0 应用教程遵循 JSP 2.1 规范,结合实际 Web 应用开发的需要,采用具体的实例来讲述相关知识点。 mytag:attributeshow color=#f9f900 title= 动态网页开发技术 author= 陈旭东 张宏勋 details= 详细介绍 . pubDate=2005.10 publisher= 北京交通大学出版社 动态网页开发技术是针对非计算机专业的 JSP 网页开发教程。即使没有学过 Java 语言,利用 JSP2.0 的特性,也可以设计功能强大的动态网页。 动态属性使用的示例: dynamicattribute.tag : table border=1 $a.key=$a.value $caption Name Value $h.key $h.value dynamicattribute.jsp Headers variable 指令: 语法 作用 用于将标记文件中定义的值传递给 JSP 页面,以供在 JSP 页面中使用 属性 说明 description 对变量的简单描述 name-given 或 name-from-attribute 必须在 variable 指令中指定其中的一个属性,不过它们不可同时出现 name given 属性为返回值提供一个名称,调用 JSP 页面就可以在引用返回值时使用该名。 name-from-attribute 属性为返回值提供一个名,调用 JSP 页面何以在引用返回值并使用这个名 alias 与 name-from-attribute 属性结合使用,用于对标记文件和 JSP 页面中使用的名进行同步。别名构成了变量的标记名,这正好与 name-from-attribute 中属性提供的名相对应,使用 name-from-attribute 属性时就必须使用该属性。 variable-class 指明返回变量的类名,该属性为可选属性,默认值为 java.lang.String declare 提供给容器一个消息,用以指明 JSP 的返回值,默认值为 true ,该属性为可选属性 scope 指明返回值的作用域,这是相对于标记本身的作用域,取值类型包括, AT_BEGIN 、 NESTED 、和 AT_END 默认值为 NESTED 。该属性为可选属性。 其中: scope 属性的三个取值的作用如图所示: variable 使用示例 variableshow.tag variableshow.jsp variable variable 指令使用方法演示 该内容将会显示在本页面中 $text include 指令: include 指令的使用方法和普通 JSP 页面中完全相同: 语法格式: 除指令以外还有很多和 tag file 相关的标准动作,这些动作主要有: 、 ( 标记文件 ) 、 、 (调用的 JSP 页面中) 动作: 语法格式: 作用:将标记中的本体内容,放置到标记文件指定的位置。 属性名 说明 var 该属性用于保存 body 内容,返回类型为 String ,该属性为可选属性。 varReader 该属性用于保存 body 内容,返回类型为 java.io.Reader ,该属性为可选属性。 scope 变量的作用范围,取值为 page 、 request 、 session 或 application 。默认值为 page 。 注 1 : var 以及 varReader 二者只能任选其一,当返回内容较大时使用 varReader ,否则使用 var 。 具体的示例: doBody.tag doBody.jsp: dobody 演示 <jsp:dobody > 和 < jsp:body> 的使用 我的内容将会显示! 动作 作用:调用指定的脚本片断。 属性名 说明 fragment 指明要调用的片断名称 var 该属性用于保存 body 内容,返回类型为 String ,该属性为可选属性。 varReader 该属性用于保存 body 内容,返回类型为 java.io.Reader ,该属性为可选属性。 scope 变量的作用范围,取值为 page 、 request 、 session 或 application 。默认值为 page 。 注 1 : var 以及 varReader 二者只能任选其一,当返回内容较大时使用 varReader ,否则使用 var 。 动作使用示例: invoke.tag invoke.jsp Even and Odd Rows Even and Odd Rows $counter: Even Row $counter: Odd Row 属性值 作用:向 tag file 中传递指定的属性名。 body 中的内容 作用:向 tag file 中传递标记本体的内容。 使用示例见: attributeshow.tag/attributeshow.jsp 标记文件的打包处理 标记文件创建完成以后,很多情况在其他 web 应用中需要使用同样的标记功能, 为了便于将我们开发的标记文件方便快捷地移植到其他应用程序中,供其他应用程序使用,我们可以创建一个 TLD 描述文件对它们进行集中的描述,并且打包。 具体操作步骤如下: 创建 tag 文件 创建 TLD 文件 创建 META-INF 文件,然后将标记文件按照原层次进行组织 使用 jar 命令进行打包 第一步:创建 tag 文件,具体见上述内容 第二步:创建 tld 文件 tld 文件主要由两部分组成: 第一部分 xml 头文件声明: TLD 头文件声明: 第二部分: taglib 属性声明: Taglib 标记的子元素 子标记 描述 标签库的版本 JSP 编辑工具可以使用的缩略名 用来标识标签库的 URI JSP 编辑工具中可以显示的名称 JSP 编辑工具中可以显示的图标,它有两个子标签,分别为 和 分别用来指定大小图标 对标记的整体描述 validator-class 设定用户所实现的标记函数库验证类 可以帮助处理事件的事件监听类 创建定制的标记 通过 tag file 创建定制的标记 Tag-file 标记的子元素说明 子元素 说明 唯一的标签名 标记文件的路径 对标记的整体描述 JSP 编辑工具可以显示的标记名称 JSP 编辑工具所使用的小图标 JSP 编辑工具所使用的大图标 标记使用的范例 简单的示例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025执业药师测试卷含答案详解【完整版】
- 2025年执业药师之《西药学专业一》题库高频难、易错点模拟试题及参考答案详解(完整版)
- 2025年甘肃卫生职业学院单招《职业适应性测试》通关题库带答案详解(能力提升)
- 药店相关技能鉴定考前冲刺测试卷附答案详解(培优)
- 2024年自考专业(计算机应用)考试彩蛋押题【预热题】附答案详解
- 2025-2026学年度导游资格考试能力提升B卷题库含答案详解【巩固】
- 2023年度计算机四级通关考试题库及1套参考答案详解
- 2024年自考专业(会计)考前冲刺练习题及答案详解(新)
- 2024-2025学年证券从业资格模拟试题及完整答案详解(有一套)
- 幼儿园家长会发言稿
- 月度财务分析报告(3篇)
- 2025年10月自考15040习概押题及答案
- (人教版2024)八年级语文上册全册各课导学案(含答案)
- 2024年浙江省城市轨道交通行车值班员职业技能竞赛考试题库(含答案)
- 人教版九年级全册英语Unit 3大单元整体教学设计
- DL∕T 711-2019 汽轮机调节保安系统试验导则
- 《背影》阅读理解及答案4篇
- 合成生物学在生物技术中的应用
- 金属冶炼中的安全与职业健康
- 绿色建筑材料
- 2023年全国卷英语甲卷讲评课件-2024届高考英语复习
评论
0/150
提交评论