




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(第第2版版)第第3章章 配合一起使用一起使用Power point 制作:耿祥义 张跃平普通高等教育普通高等教育“十一五十一五”国家级规划教材国家级规划教材Tag文件与文件与Tag标记标记2主要内容主要内容Tag文件的结构文件的结构Tag文件的存储目录文件的存储目录Tag标记标记Tag文件中的常用指令文件中的常用指令Tag标记的嵌套标记的嵌套难点难点掌握掌握Tag文件中的文件中的attribute指令指令掌握掌握Tag文件中的文件中的variable指令指令关键实践关键实践使用标记体使用标记体使用使用attribute指令和指令和variable指令指令第3章导读章导读33.1 Tag文件的
2、结构文件的结构 Tag文件是一种特殊的文本文件。文件是一种特殊的文本文件。Tag文件和文件和JSP文件很类似,可以被文件很类似,可以被JSP页面动态加载调用,但是页面动态加载调用,但是用户不能通过该用户不能通过该Tag文件所在文件所在Web服务目录直接访服务目录直接访问这个问这个Tag文件。文件。 Tag文件是扩展名为文件是扩展名为.tag的文本文件,其结构几的文本文件,其结构几乎和乎和JSP文件相同。一个文件相同。一个Tag文件中可以有普通的文件中可以有普通的HTML标记符、某些特殊的指令标记(见标记符、某些特殊的指令标记(见3.3)、成)、成员变量和方法的声明、员变量和方法的声明、Java
3、程序片和程序片和Java表达式。表达式。 参考参考AddSum.tag ,EvenSum.tag4AddSum.tag ,EvenSum.tagOddSum.tag这是一个Tab文件,负责计算1100内的奇数之和: % int sum=0,i=1; for(i=1;iEvenSum.tag这是一个Tab文件,负责计算1100内的偶数之和: % int sum=0,i=1; for(i=1;i53.2 TagTag文件的存储目录文件的存储目录 如果某个如果某个WebWeb服务目录下的服务目录下的JSPJSP页面准备调用一个页面准备调用一个TagTag文件,那么我们必须在该文件,那么我们必须在该W
4、ebWeb服务目录下,建立如下服务目录下,建立如下的目录结构:的目录结构: WebWeb服务目录服务目录 WEB-INFtagsWEB-INFtags 比如:比如: ch3WEB-INFtags 其中的其中的WEB-INF和和tags都是都是固定固定的目录名称,而的目录名称,而tags下的下的子目录的名称可由用户给定子目录的名称可由用户给定。 63.3 TagTag标记标记 3.3.1 Tag3.3.1 Tag标记与标记与TagTag文件文件 当我们编写了一个当我们编写了一个Tag文件并保存到特定目录中后,也就自文件并保存到特定目录中后,也就自定义出了一个标记,该标记的格式为定义出了一个标记,
5、该标记的格式为: Tag/或或 Tag 标记体标记体 / Tag 一个一个Tag文件对应着一个标记,该标记被习惯地称为文件对应着一个标记,该标记被习惯地称为Tag标标记,将存放在同一目录中的若干个记,将存放在同一目录中的若干个Tag文件所对应的文件所对应的Tag标记的全标记的全体称之为一个自定义标记库或简称为标记库。体称之为一个自定义标记库或简称为标记库。 73.3.2 Tag3.3.2 Tag标记的使用标记的使用 一个一个JSP页面通过使用页面通过使用Tag标记来调用一个标记来调用一个Tag文件。分为两步:文件。分为两步: 1.1.使用使用 指令标记引入该指令标记引入该WebWeb服务目录下
6、的标记库。服务目录下的标记库。 指令指令的格式如下:的格式如下: 一个一个JSPJSP页面可以使用几个页面可以使用几个 指令标记引入若干个标记库,例如:指令标记引入若干个标记库,例如: 2. JSP页面使用带前缀的页面使用带前缀的Tag标记调用相应的标记调用相应的Tag文件,其中的前缀由文件,其中的前缀由指令中的指令中的prefix属性指定。例如:属性指定。例如: 例例3-18例例1 例子例子1 1中的JSP页面保存在Web服务目录ch3中,该JSP页面所调用的Tag文件是3.1节中提到的OddSum.tag和EvenSum.tag。example3_1.jsp的效果如图3.1。 以下是调用以
7、下是调用Tag文件的效果:文件的效果: 以下是调用以下是调用Tag文件的效果:文件的效果: 93.3.3 Tag3.3.3 Tag标记的标记体标记的标记体 标记的格式为标记的格式为: 或或 标记体标记体 当当JSP页面调用一个页面调用一个Tag文件时可能希望动态地向该文件时可能希望动态地向该Tag文件文件传递信息,那么就可以使用带有标记体的传递信息,那么就可以使用带有标记体的Tag标记来执行一个标记来执行一个Tag文件,文件,Tag标记中的标记中的“标记体标记体”就会传递给相应的就会传递给相应的Tag文件,这个文件,这个Tag文件通过使用文件通过使用 标记处理标记处理JSP页面传递过来的页面传
8、递过来的“标记体标记体”。详细讨论见。详细讨论见3.4节。节。 例例3-210例例2 例子例子2中,example3_2.jsp页面调用Show.tag文件,而且通过标记体向Show.tag文件传递文本数据。Show.tag文件使用处理example3_2.jsp页面传递过来的文本数据,将该文本数据循环显示3次并逐次增大文本字体的字号。Show.tag保存在ch3WEB-INFtags目录中,example3_2.jsp的效果如图3.2。 113.4 TagTag文件中的常用指令文件中的常用指令 3.4.1 3.4.1 TagTag指令指令 Tag文件中的tag指令类似于JSP文件中的page
9、指令。Tag文件通过使用tag指令可以指定某些属性的值,以便从总体上影响Tag文件的处理和表示。tag指令的语法如下: 在一个Tag文件中可以使用多个tag指令,因此我们经常使用多个tag指令为属性指定需要的值: tag指令可以操作的属性有:body-content、language、import、pageEncoding。123.4.1 3.4.1 TagTag指令指令_ _body-contentbody-content属性属性 body-content body-content属性的值属性的值可以确定可以确定JSPJSP页面使用页面使用TagTag标记时是标记时是否可以有标记体,如果允许
10、有标记体,该属性会给出标记体内容否可以有标记体,如果允许有标记体,该属性会给出标记体内容的类型。的类型。 body-contentbody-content属性属性值有:值有:emptyempty、tagdependenttagdependent、scriptlessscriptless,默认值是,默认值是scriptlessscriptless。 属性的值是属性的值是empty,JSP页面必须使用没有页面必须使用没有 标记体的标记体的Tag标标记记:Tag/来调用相应的来调用相应的Tag文件。文件。 属性的值是属性的值是tagdependent或或scriptless,JSP页面使用无标记页面
11、使用无标记体或有标记体的体或有标记体的Tag标记:标记:Tag 标记体标记体/ Tag 来调用相应的来调用相应的Tag文件。文件。 注:注:属性值是属性值是scriptlessscriptless, ,那么标记体中不能有那么标记体中不能有JavaJava程序片;程序片; 属性值是属性值是tagdependenttagdependent, ,那么那么TagTag文件将标记体的内容按纯文文件将标记体的内容按纯文本处理。本处理。 133.4.1 3.4.1 TagTag指令指令_ _language属性属性 language属性的值指定属性的值指定Tag文件使用的脚文件使用的脚本语言,目前只能取值本
12、语言,目前只能取值java,其默认值就是,其默认值就是java。 143.4.1 3.4.1 TagTag指令指令_ _import属性属性 import属性的作用是为属性的作用是为Tag文件引入文件引入Java核心包中的类,这样就可以在核心包中的类,这样就可以在Tag文件的程序文件的程序片部分、变量及方法声明部分、表达式部分使片部分、变量及方法声明部分、表达式部分使用用Java核心包中的类。核心包中的类。import属性可以取多属性可以取多个值。个值。 import属性已经有如下值:属性已经有如下值: java.lang.*、 javax.servlet.*、 javax.servlet.j
13、sp.*、javax.servlet.http.*。 153.4.1 3.4.1 TagTag指令指令_ _pageEncoding属性属性 该属性指定该属性指定TagTag文件的字符编码,其默认值文件的字符编码,其默认值是是ISO-8859-1ISO-8859-1。 163.4.2 3.4.2 includeinclude指令指令 在在Tag文件中也有和文件中也有和JSP文件类似的文件类似的include指令标指令标记,其使用方法和作用与记,其使用方法和作用与JSP文件中的文件中的include指令标指令标记类似。记类似。 includeinclude指令标记的作用是在指令标记的作用是在Ta
14、g文件中出现该指令文件中出现该指令的位置处,静态插入一个文件。其语法格式如下:的位置处,静态插入一个文件。其语法格式如下: 173.4.3 3.4.3 attributeattribute指令指令 在在TagTag文件中通过使用文件中通过使用attributeattribute指令,可以让使用它的指令,可以让使用它的JSPJSP页面向该页面向该TagTag文件传递需要的数据。文件传递需要的数据。attributeattribute指令的格式如下:指令的格式如下:注:注:attributeattribute指令中的指令中的namename属性是必需的。属性是必需的。比如比如,一个,一个TagTa
15、g文件文件MyTagMyTag.tag.tag中有如下的中有如下的attributeattribute指令:指令: 那么那么JSPJSP页面就可以如下使用页面就可以如下使用TagTag标记(假设标记的前缀为标记(假设标记的前缀为computercomputer)调用)调用MyTagMyTag.tag.tag: 或或 我向我向Tag文件中传递的值是文件中传递的值是1000 例例3-3,3-418例例3 例子例子3中,Triangle.tag存放在ch3WEB-INFtags目录中,该Tag文件负责计算、显示三角形的面积。example3_3.jsp使用Tag标记调用Triangle.tag文件,
16、并且向Triangle.tag文件传递三角形三边的长度。example3_3.jsp的效果如图3.3 。 19例例4 例子例子4中,JSP页面只负责将学生的姓名和成绩分别存放到链表(java.util.LinkedLst类型对象)中,然后将链表传递给Sort.tag,Sort.tag负责按从低到高显示学生的成绩。example3_4.jsp的效果如图3.4 。 203.4.4 3.4.4 variablevariable指令指令 Tag文件通过使用文件通过使用variable指令可以将指令可以将Tag文件中的对象返回文件中的对象返回给调用该给调用该Tag文件的文件的JSP页面。页面。(1 1)
17、variablevariable指令的格式指令的格式 例例: : 该该variablevariable指令给出的对象的名字是指令给出的对象的名字是timetime、类型为、类型为java.util.Datejava.util.Date、有效范、有效范围是围是AT_ENDAT_END。 (2 2)对象的返回)对象的返回jspContextjspContext调用调用setAttribute(“对象的名字对象的名字”,对象的引用对象的引用)方法存储对象的名字以方法存储对象的名字以及该对象的引用。比如及该对象的引用。比如:jspContext.setAttribute(time,new Date()
18、;将名字是将名字是timetime的的DateDate对象存储到对象存储到jspContextjspContext中。中。以下的以下的variable指令:指令:为为JSP页面返回名字是页面返回名字是time的的Date对对象。象。 例例3-5 21例例5 例子例子5中,Tag文件GiveRoot.tag负责求出一元二次方程的根。JSP页面在调用Tag文件时,使用attribute指令将方程的系数传递给Tag文件;Tag文件GiveRoot.tag使用variable指令返回一元二次方程的根给调用该Tag文件的JSP页面。例子5中的useOne.jsp和和useTwo.jsp都使用Tag标记调
19、用GiveRoot.tag,二者都可以得到GiveRoot.tag返回的方程的两个根,但是二者使用不同的方式来处理和显示方程的两个根。userOne.jsp将方程的根保留最多3位小数,并计算方程的两个根之和,userTwo.jsp将方程的根保留最多5位小数,并计算方程的两个根之积。userOne.jsp和userTwo.jsp的效果分别如图3.5(1)和3.5(2) 。 223.4.5 3.4.5 taglibtaglib指令指令 一个一个TagTag文件可以使用文件可以使用TagTag标记来调用其它的标记来调用其它的TagTag文件。文件。 TagTag文件必须使用文件必须使用 指令引入该指令引入该WebWeb服务目录下的标服务目录下的标记库,才可以使用记库,才可以使用TagTag标记来调用相应的标记来调用相应的TagTag文件。文件。 指指令的格式如下:令的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025合同模板租赁合同(商业办公 space)范本
- 2025加盟合同范本下载
- 码头建设工程实施方案(范文模板)
- 2025建筑工程监理合同模板
- 《2025租赁合同的书写要点》
- 2025城市绿化工程劳务分包合同
- 2025合作生产合同范本
- 产业园区配套基础设施建设项目规划设计方案
- 2025技术咨询服务合同模板
- 2025供应商合同(中英文)
- 《幼儿园课程》第1章:幼儿园课程概述
- 起重培训课件
- 阀门检验报告式样 -报告
- 《敬畏生命向阳而生》的主题班会
- 2021年NICaS-(无创血流动力学监测系统)课件
- 膀胱功能训练技术(康复护理课件)
- 第二讲 网络安全等级保护测评
- 基因表达沉默技术
- 农产品贮藏与加工课程标准
- 高中物理选择性必修一同步练习册电子版
- 江苏省南京市鼓楼区2021-2022七年级初一下学期期末语文数学英语三科试卷+答案
评论
0/150
提交评论