班级资料--JSP标记.ppt

上传人:本田雅阁 文档编号:2136383 上传时间:2019-02-20 格式:PPT 页数:76 大小:228.01KB
返回 下载 相关 举报
班级资料--JSP标记.ppt_第1页
第1页 / 共76页
班级资料--JSP标记.ppt_第2页
第2页 / 共76页
班级资料--JSP标记.ppt_第3页
第3页 / 共76页
亲,该文档总共76页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《班级资料--JSP标记.ppt》由会员分享,可在线阅读,更多相关《班级资料--JSP标记.ppt(76页珍藏版)》请在三一文库上搜索。

1、1,第三章 JSP标记,2,JSP的三类标记,JSP标记包括: 指令标记 动作标记 自定义标记,3,3.1 指令标记,指令标记常用的是“网页指令”,“包含指令”。 它们包含在“”卷标里。 指令标记主要有: page指令 include指令,4,3.1.1 page指令,page指令定义整个JSP页面的一些属性。 page 指令的格式为: 也可写成多条指令的形式: ,5,page指令的属性,page指令的属性有: language、import、contentType、session、buffer、autoFlush、isThreadSafe、info,6,语法格式如下: ,7,page指令说明

2、,指令作用于整个JSP页面,包括静态的包含文件;但是不能作用于动态的包含文件。 可以在一个页面中用上多个“”指令,但其中的属性只能用一次,import属性例外。 无论把指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面,通常放在文件顶部。,8,page指令的contentType属性,定义JSP页面字符的编码。 格式: 表示用HTML解析器来显示页面信息。 contentType的默认值为: ,9,例:,a.jsp: b.jsp: c.jsp: ,10,page指令的import属性,为JSP页面引入Java包中的类,可以为该属性指定多个值: 也可以使用多个page指令为impor

3、t属性指定几个值: 注:除import属性外,其它属性只能被指定一个值。,11,page指令的import属性,在jsp文件中,下面包中的类会自动导入,所以不必再显式的导入: java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.*,12,page指令的language属性,声明脚本语言的种类,目前只能是java 格式: ,13,page指令的session属性,session属性值为逻辑型,表示是否使用内置对象session。 格式: 默认值为true。,14,page指令的info属性,该属性为JSP页面准备一

4、个字符串,属性值是某个字符串,如: 在页面中使用getServletInfo()方法获取info属性的值。,15,page指令的info属性, info属性的值是: ,16,page指令的isThreadSafe属性,逻辑型值,为true时,CPU的使用权在各个线程间切换;为false时,一个线程执行完后才能执行其它线程。 格式: 默认值为true,17,3.1.2 include指令,在JSP页面内出现该指令处静态嵌入一个文件。 格式: ,18,例:, 下面是include的文件: /上面两行均表示dir位于当前web服务目录下。 ,19,include指令说明,所谓静态嵌入就是当前JSP页

5、面和嵌入的部分合并成一个新的JSP页面,然后JSP引擎编译这个新页面。 因此被嵌入的文件必须符合JSP语法规则,否则主体程序的编译不能通过。 静态嵌入的文件其实是主体文件的一部分,page指令的约束是有效的。,20,例:, 输入一个正数,求其平方根: ,21, “+Math.sqrt(number); catch(NumberFormatException e) out.print(“+“请输入数字字符“); %,b.jsp:,22,3.2 动作标记,动作标记主要有: include param forward plugin useBean,23,3.2.1 include标记,动态包含一个文

6、件:静态文件(txt、html)或动态文件(jsp)。 格式: 或者: 子标记 注:不需要子标记时必须使用第一种形式。,24,例:包含文件hello.txt, hello.txt文件的内容是: ,25,比较:, 指令标记是将静态嵌入文件作为主体文件的一部分,所以主文件和子文件其实是一体。 动作标记是动态嵌入文件,子文件不必考虑主文件的属性。 指令标记在编译时就将子文件载入。 动作标记在运行时才将子文件载入。,26,3.2.2 param标记,param标记的功能是传递数据,需要放置在一对、标记之间。也可与forward、plugin标记一起使用。param标记不会单独出现。 格式为: ,27,

7、例:用param标记传递数据, 动态包含b.jsp文件: ,28,b.jsp内容:, Sum = ,29,例:动态包含文件, 动态包含文件b.jsp: ,30,b.jsp:,31,3.2.3 forward标记,Forward标记具有导向功能,可导向该标记所指网页,同时也具有传递数据的功能。 格式: 或者: 子标记 注:不需要子标记时必须使用第一种形式。,32,例:导向b.jsp, forward动作标签练习 ,33,b.jsp内容:, 被导向页面 ,34,标记,语法格式总结: 1“ / 2“ “ / 注:表示可以有多个标记。,35, “ / ,36,3.2.4 plugin标记,plugin

8、标记的功能是加载Java Applet.,37,例:加载applet, 加载Java Applet ,38,3.3 自定义标记,自定义标记主要是tag标记。,39,3.3.1 tag文件,tag文件是以.tag为扩展名的文件,结构与jsp文件几乎相同,其目的是为了实现代码复用。 tag文件中可以有HTML标记、某些特殊的指令标记、成员变量和方法的声明、Java程序片、Java表达式。 tag文件可以方便的被jsp文件调用,但是用户不能通过Tag文件所在的Web服务目录直接访问它。,40,3.3.2 tag文件的存放,tag文件的存放位置: tag文件必须放到“Web服务目录WEB-INFtag

9、s”或其下级目录中才能被调用。 WEB-INF和tags都是固定的目录名称,而tags下的子目录可由用户命名。,41,3.3.3 tag标记,编写了一个tag文件并保存到特定目录中后,也就自定义了一个标记,格式为: 或: 标记体 一个tag文件对应着一个标记,称为tag标记,存放在同一目录中的tag文件所对应的tag标记的全体称为一个自定义标记库,简称标记库。,42,3.3.4 tag文件的使用,JSP页面通过tag标记调用一个tag文件分为两步: 第一步:使用指令引入该Web服务目录下的标记库。 指令格式: 一个JSP页面可以使用几个指令标记引入多个标记库,例如: ,43,3.3.4 tag

10、文件的使用,第二步:用带前缀的Tag标记调用相应的Tag文件,其中的前缀由指令中的prefix属性指定。 或: 标记体 ,44,例:调用tag文件(a.jsp), 调用Hello.tag文件结果: ,45,Hello.tag文件, Hello, tag world ! ,46,例:调用tag文件计算(a.jsp), 先调用ContinueSum.tag文件 再调用PrimeNum.tag文件 ,47,ContinueSum.tag, “); int i, s=0; for(i=1; i ,48,PrimeNum.tag, 该tag文件计算100以内的素数: Math.sqrt(i) out.p

11、rintln(i+“,“); % ,49,如果JSP页面要向tag文件传递信息,可以使用带有标记体的tag标记来执行tag文件,标记体会传给相应的tag文件,格式为: 标记体 Tag文件使用标记来获得jsp页面传过来的标记体。,tag标记的标记体,50,例:向tag文件传递数据, Hello, world ! ,51,Show.tag,52,3.3.5 tag文件中的常用指令,Tag文件中常用的指令有:tag, taglib, include, attribute, variable等。 其中taglib用于指明标记库的位置; include类似jsp文件的include指令标记。,53,1、

12、tag指令,tag指令类似jsp文件的page指令,tag文件通过tag指令指定某些属性的值,以便从总体上影响tag文件的表示和处理。 tag指令的格式: ,54,1、tag指令,在一个tag文件中可以使用多条tag指令,因此可以用多条tag指令为属性指定需要的值: ,55,1、tag指令,tag指令的常用属性有: body-content language import pageEncoding,56,1、tag指令,(一)tag指令的 body-content 属性 body-content属性可以设置JSP页面在使用该Tag标记时是否允许有标记体,还可设置对标记体的要求和处理方式。 该属

13、性有三个值:empty, scriptless(默认) , tagdependent。 empty表示没有标记体,只能以形式调用tag文件。,57,1、tag指令,为scriptless时,还可以用 标记体 形式调用tag文件,但标记体中不能有Java程序片、表达式。(可以有指令标记、动作标记)。,58,1、tag指令,为tagdependent时,可用上述两种形式调用tag文件,但只处理标记体中的纯文本。 不处理程序片、表达式、jsp指令标记、jsp动作标记。,59,例:body-content取不同值的区别,a.jsp: Hello ,60,Show.tag, 1. 取值empty时,a.

14、jsp不能正常执行 2. 取值scriptless时,显示Hello与a.txt的内容 3. 取值tagdependent时,显示字符串Hello,61,例:body-content取不同值的区别, Hello 若标记体有程序片或表达式: 1. 取值empty时,a.jsp不能正常执行 2. 取值scriptless时, a.jsp不能正常执行 3. 取值tagdependent时,显示字符串Hello,62,1、tag指令,(二)tag指令的 language 属性 language属性指定tag文件使用的脚本语言,目前只能为java,其默认值就是java。 如: ,63,1、tag指令,(

15、三)tag指令的 import 属性 为tag文件引入包中的类,可以在tag文件的程序片部分、变量及方法声明部分、表达式部分使用这些类。 如: ,64,1、tag指令,在tag文件中,下面包中的类会自动导入,所以不必再显式的导入: java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.*,65,1、tag指令,(四)tag指令的pageEncoding属性 指定tag文件的字符编码,默认是ISO-8859-1,改变方法为: ,66,2、include指令,tag文件中的include指令标记,其用法与用途与jsp文

16、件中的include指令标记类似。 格式: 其中a.txt与tag文件在同一目录下。 /a.txt 表示a.txt在Web服务目录下。,67,3、attribute指令,在tag文件中使用attribute指令,可以动态的向该tag文件传递数据。 格式: 其中name属性是必须的,是变量的名字;required属性与type属性是可选的。,68,3、attribute指令,jsp页面向tag文件中的变量传递值的方法为: 格式1: 格式2: 标记体 ,69,3、attribute指令,required属性的默认值是false,表示调用该tag文件时可以不为该属性赋值,为true时必须为该属性赋值

17、。 type属性表示变量的类型,默认为String类型。也可以是其它类型,例如:type=“java.util.Date“,70,例:利用tag文件求三角形面积,71,Area.tag,72,例:向tag文件传递一个时间值, 调用tag文件的结果: “ / “ / 注:为tag文件的属性设置值时,要用双引号引起来。,73,Show.tag, 传过来的时间是: ,74,4、variable指令,tag文件使用variable指令可以将tag文件中的对象返回给调用该文件的JSP页面。 格式: scope表示tag文件中的变量在jsp文件中的有效范围,有三种取值: AT_END:变量在tag结束标记之后有效。 AT_BEGIN:变量在tag开始标记之后有效。 NESTED:变量在tag开始标记和结束标记之间有效。,75,TestVariable.tag,76,调用tag文件, tag文件中的str变量的值是: tag文件中的time变量的值是:,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1