




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,2,第4章JSP的页面元素,JSP是一种很容易学习和使用的在服务器端编译执行的Web设计语言,其脚本语言采用Java语言,完全继承了Java的所有优点。通过JSP能使网页的动态部分与静态部分有效分开,只要用自己熟悉的网页制作工具编写普通的HTML,然后通过专门的标签将动态部分包含进来即可。,绝大部分标签是以“”结束的,而被标签包图的部分则称为JSP元素内容。开始标签、结束标签和元素内容三部分统称为JSP元素,JSP元素由JSP引擎解释处理。在很多情况下,JSP网页的大部分内容是由静态HTML组成的,这些JSP引擎不能读懂的部分称为模板文本。,JSP元素可分成脚本元素、指令元素与动作元素三种类型。脚本元素规范JSP网面所使用的Java代码;指令元素则是针对JSP引擎设计,它控制JSP引擎如何处理代码;而动作元素主要用于连接所要使用的组件(如,JavaBean),另外还可以控制JSP引擎的动作。JSP页面除了脚本元素、指令元素和动作元素外,为了增加程序的可读性,在JSP页面中往往添加一定的注释。,5,本章学习目标:,在JSP程序中使用注释理解JSP程序中页面指令能够在JSP程序中使用脚本理解JSP程序中的各种动作元素,6,4.1JSP注释,注释可以增强JSP文件的可读性,并易于JSP文件的维护。JSP中的注释可分为两种(1)HTML注释:在标记符号“”之间加入注释内容:JSP引擎把HTML注释交给客户,因此客户通过浏览器查看JSP的源文件时,能够看到HTML注释。,4.1JSP注释,(2)JSP注释:在标记符号“”之间加入注释内容:JSP引擎忽略JSP注释,即在编译JSP页面时忽略JSP注释。,8,4.2指令元素,JSP指令元素主要有来和JSP引擎沟通用,它们并不会直接产生任何看得见的输出;相反地,它们是在告诉引擎如何处理其他的JSP网页。指令元素表现形式如下:并且还可以在一个指令中加入多个属性,如:JSP指令元素主要有三种类型的指令:includepagetaglib,4.2.1page指令元素,Page指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用域为它所在的JSP文件页面和其包含的文件,但是指令不能作用于动态的包含文件,例如page指令用来定义整个JSP页面的一些属性和这些属性的值。例如,我们可以用page指令定义JSP页面的contentType属性的值是“text/html;charset=GB2312”,这样,我们的页面就可以显示标准汉语。如,,4.2.1page指令元素,Page指令的语法格式为:无论把指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。,4.2.1page指令元素,属性值总是用单引号或引号双号括起来,例如:如果为一个属性指定几个值话,这些值用逗号分割。page指令只能给import属性指定多个值;其它属性只能指定一个值。例如:,4.2.1page指令元素,当你为import指定多个属性值时,JSP引擎把JSP页面转译成的java文件中会有如下的import语句:importjava.util.*;importjava.io.*;importjava.awt.*;,4.2.1page指令元素,在一个JSP页面中,也可以使用多个page指令来指定属性及其值。需要注意的是:可以使用多个page指令给属性import几个值,但其它属性只能使用一次page指令指定该属性一个值。如:,4.2.1page指令元素,注意:下列用法是错误的尽管指定的属性值相同,也不允许2次使用Page给contentType属性指定属性值.注意:page指令的作用对整个页面有效,与其书写的位置无关,但习惯把page指令写在JSP页面的最前面。,4.2.1page指令元素,language属性定义JSP页面使用的脚本语言,该属性的值目前只能取java。为language属性指定值的格式:language属性的默认值是“java”,即如果你在JSP页面中没有使用page指令指定该属性的值的话,那么,JSP页面默认有如下page指令:,4.2.1page指令元素,import属性:该属性的作用是为JSP页面引入Java核心包中的类,这样就可以在JSP页面的程序片部分、变量及函数声明部分、表达式部分使用包中的类。可以为该属性指定多个值,该属性的值可以是Java某包中的所有类或一个具体的类,例如:JSP页面默认import属性已经有如下的值:java.lang.*、javax.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*。,4.2.1page指令元素,contentType属性:定义JSP页面响应的MIME(MultipurposeInternetMailExtention)类型和JSP页面字符的编码。属性值的一般形式是:“MIME类型”或“MIME类型;charset=编码”,如:contentType属性的默认值text/html;charset=ISO-8859-1。,4.2.1page指令元素,session属性:用于设置是否需要使用内置的session对象。session的属性值可以是true或false,session属性默认的属性值是true。,4.2.1page指令元素,buffer属性:内置输出流对象out负责将服务器的某些信息或运行结果发送到客户端显示,buffer属性用来指定out设置的缓冲区的大小或不使用缓冲区。buffer属性可以取值“none”,设置out不使用缓冲区。Buffer属性的默认值是8kb。例如:,4.2.1page指令元素,auotFlush属性:指定out的缓冲区被填满时,缓冲区是否自动刷新auotFlush可以取值true或false。auotFlush属性的默认值是true。当auotFlush属性取值false时,如果out的缓冲区填满时,就会出现缓存溢出异常。当buffer的值是“none”时,auotFlush的值就不能设置成false。,4.2.1page指令元素,isThreadSafe属性:用来设置JSP页面是否可多线程访问isThreadSafe的属性值取true或false。当isThreadSafe属性值设置为true时,JSP页面能同时响应多个客户的请求;当isThreadSafe属性值设置成false时,JSP页面同一时刻只能处理响应一个客户的请求,其他客户需排队等待。isThreadSafe属性的默认值是true。,4.2.1page指令元素,info属性:该属性为JSP页面准备一个字符串,属性值是某个字符串。例如:可以在JSP页面中使用方法:getServletInfo();获取info属性的属性值。,4.2.1page指令元素,errorPage=“relativeURL”定义指向另一个JSP页面的URL.当页面出现一个未被捕获的异常时,错误信息将以throw语句抛出,而被设置为错误信息页面的JSP页面,将利用exception隐含对象,取得错误信息.该属性默认值为空.,4.2.1page指令元素,isErrorPage=“true|false”设置此页面是否为错误处理页面.默认值为false.当设置为true的时候,JSP页面将可存取隐含的exception对象,并通过该对象取得从发生错误的页面传出的错误信息.例如:CASE:err_make.jsp、error.jsp,4.2.2include指令,在JSP中用include指令包含一个静态的文件,同时解析这个文件中的JSP语句,使用jsp的include指令有助于实现jsp页面的模块化。其语法格式为:,其中filename指被包含的文件的名称。指令将会在JSP编译时插入一个包含文本或代码的文件,当使用指令时,这个包含的过程是静态的。静态的包含是指这个被包含的文件将会被插入到JSP文件中去,这个包含的文件可以是JSP文件、HTML文件、文本文件。如果包含的是JSP文件,这个包含的JSP文件中的代码将会被执行。CASE:includeTest.jsp、test.html,4.2.3taglib指令元素,taglib指令用来定义一个标签库以及其自定义标签的前缀。其语法格式为:其中,属性uri(UniformResourceIdentifier,统一资源标识符)用来唯一的确定标签库的路径,并告诉JSP引擎在编译JSP程序时如何处理指定标签库中的标签,属性prefix定义了一个指示使用此标签库的前缀。例如:.使用public标签库中的loop标签,4.3脚本元素,脚本元素分为三个部分:声明、表达式、程序片段所有的脚本元素都以“”标记结束。,4.3.1声明,JSP中的声明可以用来定义一个或多个合法的变量(包括普通变量和类变量)、方法或类,并不输出任何的文本到输出流去。在声明元素中声明的变量和方法将在JSP页面初始化时被初始化。,声明变量,JSP声明的语法格式为:,其中declaration为声明的变量、方法的名称和内容。在声明变量变量和方法时,需要注意以下几点:声明必须以;结尾。可以直接使用在中被包含进来的已经声明的变量和方法,不需要对它们重新进行声明。一个声明仅在一个页面中有效。如果想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用或元素包含进来。,声明变量,在一个程序片中声明的变量称做JSP页面的局部变量,它们在JSP页面内的所有程序片部分以及表达式部分内都有效。这是因为JSP引擎将JSP页面转译成Java文件时,将各个程序片的这些变量作为类中某个方法的变量,即局部变量。利用程序片的这个性质,有时候可以将一个程序片分割成几个更小的程序片,然后在这些小的程序片之间再插入JSP页面的一些其它标记元素。当程序片被调用执行时,这些变量被分配内存空间,所有的程序片调用完毕,这些变量即可释放所占的内存。当多个客户请求一个JSP页面时,JSP引擎为每个客户启动一个线程,一个客户的局部变量和另一个客户的局部变量被分配不同的内存空间。因此,一个客户对JSP页面局部变量操作的结果,不会影响到其它客户的这个局部变量,声明方法和类的声明,所有的java方法都具有类或对象作用域可以象定义一个完整的类定义一样在中定义JAVA类,4.3.2表达式,JSP中表达式可以将某个计算结果转换成一个字符串并且直接使用在输出网页上。包含一个符合JSP语法的表达式的语法格式为:。JSP的表达式中没有分号,除非在加引号的字符串部分才使用分号。注意:不可插入语句,“textmessageforuser,4.4.4动作,type=bean|applet“将被执行的插件对象的类型,因为这个属性没有默认值,所以必须指定这个是Bean还是Applet。,4.4.4动作,code=classFileName“指定将会被Java插件执行的JavaClass类文件的名称,这个文件必须以.class结尾,必须存在于codebase属性指定的目录中。,4.4.4动作,codebase=classFileDirectoryName“指定将会被执行的JavaClass文件的目录或路径,如果没有提供该属性,那么将默认使用的JSP文件目录。,4.4.4动作,name=instanceName“指定Bean或Applet实例的名字,它将会在JSP其他的地方调用,这就使得被同一个JSP文件调用的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业病赔偿款分配及工伤认定及赔偿协议
- 2025年教师招聘之《幼儿教师招聘》通关试题库附参考答案详解【巩固】
- 百家讲坛读后感800字5篇
- 2025年整形外科手术操作规范性考核卷答案及解析
- 2025年皮肤性病科病例鉴别诊断模拟测验答案及解析
- 农民水产养殖技术指导协议
- 商业空间设计与施工合同协议签署指南
- 健康体检中心医疗设备租赁与维护协议
- 2025年眼科常见疾病诊治关键步骤简答题试卷答案及解析
- 2021年高考真题福建卷化学试题(解析版)
- 老乡贷贷款管理办法
- 老师新学期个人工作计划表怎么写(5篇)
- 2025年高考全国二卷数学真题(原卷版)
- 统编版九年级上册道德与法治1.2 走向共同富裕 课件
- 汽车销售日常知识培训课件
- (正式版)DB15∕T 2351-2021 《燕麦米加工技术规程》
- 患者身份识别管理标准WST840-2025学习解读课件
- 2024德州市庆云县渤海路街道社区工作者招聘考试试题
- 标准预防与隔离技术课件
- 脊柱外科医生进修汇报
- 口腔正畸进修总结汇报
评论
0/150
提交评论