第3章 JSP中指令与动作_第1页
第3章 JSP中指令与动作_第2页
第3章 JSP中指令与动作_第3页
第3章 JSP中指令与动作_第4页
第3章 JSP中指令与动作_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章 JSP中指令(zhlng)与动作本章目的:掌握JSP指令的用法(yn f)掌握JSP动作标记的用法理解include动作标记和include指令在包含文件时的区别共四十七页任务1 掌握(zhngw)JSP指令 JSP指令告诉JSP引擎对JSP页面如何编译,不包含控制逻辑,不会产生任何可见的输出,即JSP指令在客户端不可见,它是被服务器解释并被执行的。在一个指令中可以设置多个属性,这些属性的设置可以影响到整个(zhngg)页面。用法: 说明:属性名大小写是敏感的。之间不能有任何的空格。共四十七页1. page指令(zhlng)page指令即页面指令,可以定义在整个JSP页面范围(fnwi

2、)内有效的属性和相关功能。利用其可以指定脚本语言,导入需要的类、指明输出内容的类型、指定处理异常的错误页面以及页面输出缓存的大小等操作,并且一次可以设置多个属性。共四十七页page指令(zhlng)语法:共四十七页page指令语法说明:语法格式说明中的“”和“”符号括起来的内容表示是可选项。可以在一个页面上使用多个page指令,但是其中的属性(shxng)只能使用一次(import属性除外)。page指令可以放在JSP文件的任何地方,它的作用范围都是整个页面,但好的编程习惯一般放在文件的顶部。共四十七页page指令(zhlng)的13个属性说明:(1)language属性:设置当前页面中编写J

3、SP脚本使用的语言,默认值为java。例如: 目前只可以使用Java语言,不过不排除增加其它语言。共四十七页(2)import属性:用来导入程序中要用到的包或类,可以有多个值,无论是Java核心包中自带的类还是用户自行编写的类,都要在import中引入,才能使用。import属性的用法:如果想要导入包里的全部(qunb)类,可以这样使用:在page指令中可多次使用该属性来导入多个类。例如:或者通过逗号间隔来导入多个类:共四十七页【例3-1】显示用户登录的时间(shjin)。通过导入java.util.Date类来显示当前的日期时间。 您好!您登录的时间是共四十七页(3)pageEncoding

4、属性:设置JSP页面源代码的字符编码,常见的编码类型有UTF-8、ISO-8859-1、gb2312和GBK等。默认值为ISO-8859-1。用法:例如:表示本网页使用了GBK编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。GBK是国家标准GB2312基础上扩容后兼容GB2312的标准。GBK包含全部中文字符,是国家编码。ISO8859-1,通常叫做Latin-1。Latin-1包括了书写所有西方欧洲语言不可(bk)缺少的附加字符。 共四十七页(4)errorPage属性和isErrorPage属性errorPage属性用于设置出现异常时跳转的页面的URL,跳转到的页面

5、需要使用属性isErrorPage=true来指定其是错误处理页面,此页面可以使用exception异常对象处理错误信息(xnx)。该属性的默认值为false。也就是:在发生异常的页面中加入: 在error.jsp中,则使用下面的语句来说明可以进行错误处理: 共四十七页【例3-2】页面出现异常的处理。通过page指令的errorPage和isErrorPage两个(lin )属性来演示当页面出现异常时应如何处理。共四十七页(5)contentType属性:设置发送到客户端文档的响应报头的MIME类型和字符编码,使用;分隔。用法:MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式,当

6、该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。 例如,application/msword 、image/gif。charset指JSP页面请求服务器后返回的内容显示到浏览器上的编码方式。默认情况(qngkung)下字符编码为ISO-8859-1,但一般情况下都将该属性设置为:contentType=text/html; charset=gb2312表示该页面是html,字符编码是gb2312。共四十七页(6)info属性:设置JSP页面的相关信息,如当前页面的作者、编写时间等。此值可设置为任意字符串,由Servlet.getServletInfo()方法来获取所设置的值。【例

7、3-3】通过(tnggu)page指令的info属性来设置页面的相关信息。共四十七页(7)session属性:表示当前页面是否支持session,属性的默认值为true。(8)buffer属性:用来指定out缓冲区的大小。其值可以有none、8kb或是给定的kb值,值为none表示没有缓存,直接输出至客户端的浏览器中;如果(rgu)将该属性指定为数值,那么输出就用不小于这个值的缓冲区进行缓冲 ,默认为8KB(因不同的服务器而不同,但大多数情况下都为8KB)。(9)autoFlush属性:当缓冲区满时,是否自动刷新缓冲区。默认值为true。注意:当buffer属性的值设为none时,autoFl

8、ush属性的值就不能设为false。(10)isThreadSafe属性:设置JSP页面是否可以多线程访问。默认值为true。共四十七页2. inclue指令(zhlng)include指令用于通知(tngzh)JSP引擎在翻译当前JSP页面时将其他文件中的内容合并进当前JSP页面转换成的Servlet源文件中,这种在源文件级别进行引入的方式称为静态引入,当前JSP页面与静态引入的文件紧密结合为一个Servlet。这些文件可以是JSP页面、HTML页面、文本文件或是一段Java代码。include指令语法格式: 共四十七页说明:file属性指定被包含的文件,不支持任何表达式,例如下面的用法错误

9、:% include file = “” %不可以在file所指定的文件后接任何参数(cnsh),如下用法也是错误的:如果file属性值以“/”开头,将在当前应用程序的根目录下查找文件;如果以文件名或文件夹名开头,将在当前页面的目录下查找文件。共四十七页【例3-4】包含页头和页尾信息的页面(y min)示例。共四十七页注意:include指令的作用是静态包含文件,即被包含文件原封不动地插入到JSP文件中,因此在所包含的文件中不能使用“ ”,“ ”标记,否则会导致原有的JSP文件中出现相同标记而产生错误。另外要注意原文件和被包含文件可以互相访问彼此定义的变量和方法,所以要避免(bmin)变量和方

10、法在命名上冲突的问题。【例3-5】有变量冲突的页面包含示例。共四十七页共四十七页任务2 掌握JSP动作JSP动作利用XML语法格式的标记来控制服务器的行为,完成各种通用的JSP页面功能,也可以实现一些处理复杂业务逻辑的专用功能。例如,利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码,它是在请求(qngqi)处理阶段起作用的。用法: 或者: 相关内容共四十七页(1)include动作标记动作标记用于把另外一个文件的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称为动态引入,这样主页面程序与被包含文件

11、是彼此独立的,互不影响。被包含的文件可以是一个动态文件(JSP文件),也可以是一个静态文件(如文本文件)。include动作标记语法: jsp:include page=relativeURL | /说明:书写该标签时,“jsp”、“:”以及“include”三者之间不要(byo)留有空格,否则会出错。如果page属性值以“/”开头,将在当前应用程序的根目录下查找文件;如果是以文件名或文件夹名开头,将在当前页面的目录下查找文件,也可以通过执行一个表达式来获得。共四十七页【例3-6】在JSP文件(wnjin)中使用动作标记包含静态文件。共四十七页项目include动作标记(首选)include指

12、令基本语法包含动作发生的时间请求页面期间页面转换期间被包含的内容页面的输出文件的内容产生Servlet的数目21被包含文件是否可以设置影响主页面的响应报头不可以可以被包含文件是否可以定义主页面使用的字段和方法不可以可以被包含文件更改后是否需要更新主页面不需要需要include动作标记(bioj)与include指令的区别共四十七页(2) forward动作标记(bioj)forward动作可以实现页面的跳转,即重定向网页,从当前网页的forward动作指令处转向执行另一个网页程序,此时用户在地址栏中看到的地址仍然是当前网页的地址,而内容却是另一个网页程序的内容。当该forward动作被执行后,

13、当前页面将不再被执行,而是去执行指定的目标页面。转向文件可以是HTML文件、JSP文件、程序段,或者其他能够处理request对象的文件。共四十七页forward动作基本用法: jsp:forward page=relativeURL| 或 jsp:forward page=relativeURL|/ page属性用于指定要跳转到的目标文件的相对路径,也可以(ky)通过执行一个表达式来获得。共四十七页【例3-7】使用动作(dngzu)标记实现网页跳转。共四十七页(3) param动作标记当使用和动作标记引入或将请求转发给的资源是一个能动态执行的程序时,例如Servlet和JSP页面,那么还可以

14、使用动作向这个程序传递参数信息。语法(yf):jsp:include(forward) page=relativeURL | jsp:param name=parameterName value=parameterValue | /说明:动作的name属性用于指定参数名,value属性用于指定参数值。可以使用多个来传递参数。共四十七页【例3-8】使用(shyng)动作标记传递参数。共四十七页共四十七页(4)plugin动作标记使用动作可以在页面中插入Java Applet小程序或JavaBean,它们能够在客户端运行,但此时需要在IE中安装Java插件。当JSP文件被编译,送往浏览器时,动作将

15、会根据浏览器的版本替换成或者HTML元素(yun s)。注意,用于HTML4.0,用于HTML3.2。plugin动作标记的使用格式如下:jsp:plugin type=bean|applet code=classFileName codebase=classFileDirectoryName name=instanceName archive=URIToArchive, . align=bottom | top| middle| left| right 共四十七页 height=displayPixels width=displayPixels hspace=leftRightPixels

16、vspace=topBottomPixels jreversion=JREVersionNumber|1.1 nspluginurl=URLToPlugin iepluginurl=URLToPlugin jsp:param name=parameterName value=parameterValue | / text message for user 当Java插件不能启动时显示给用户的提示信息。注意(zh y):若插件能够启动但是applet或Bean不能正常启动,浏览器则会弹出一个出错信息窗口。共四十七页【例3-9】使用动作(dngzu)标记在JSP中加载Java applet小程序。

17、共四十七页共四十七页(5)useBean动作标记 动作标记动作标记用来在JSP页面中创建一个Bean实例,并且通过属性(shxng)的设置可以将该实例存储到JSP中的指定范围内。如果在指定的范围内已经存在了指定的Bean实例,那么将使用这个实例,而不会重新创建。 共四十七页声明一个JavaBean的语法(yf)格式:也可以在标记体内嵌入子标记: 共四十七页动作中各属性的用法:id属性:在JSP中给这个Bean实例取的名字(mng zi),即指定一个变量,只要在它的有效范围内,均可使用这个名称来调用它。scope属性:设置所创建Bean实例的有效范围,默认情况下取值为page。值为page表示在

18、当前JSP页面及当前页面所包含的静态文件中有效。值为request表示在当前的客户请求内有效。值为session表示对当前HttpSession内的所有页面都有效。值为application表示所有客户端共享这个JavaBean,直至服务器关闭才取消这个JavaBean。共四十七页type=数据类型 设置由id属性指定的Bean实例的类型。class=package.className 该属性指定了一个完整的类名,其中package表示类包的名字,className表示Class文件名称。在没有(mi yu)设置type属性时,必须设置class属性。class=package.classNa

19、me type=数据类型 class属性与type属性可以指定同一个类。beanName=package.className type=数据类型 beanName属性与type属性可以指定同一个类。共四十七页通常情况下应用标识的格式如下: 如果想在多个(du )页面中共享这个Bean实例,可将scope 属性设置为session。 共四十七页 动作(dngzu)标记该标记用来设置Bean中属性的值。语法格式如下: 共四十七页动作中各属性的用法: name属性:用来指定一个存在于JSP中某个范围内的Bean实例。动作标记将按照page、request、session和application的顺序

20、来查找这个Bean实例,直到(zhdo)第一个实例被找到。若任何范围内都不存在这个Bean实例,则会抛出异常。property=* 当property的取值为“*”时,要求bean属性的名称与类型和request请求中参数的名称与类型一致,以此用bean中的属性来接收客户输入的数据,系统会根据名称来自动匹配。共四十七页property=propertyName 当property属性取值为Bean中的属性时,只会将request请求中与该Bean属性同名的一个参数的值赋给这个Bean属性。property=propertyName param=parameterName property属性指定Bean中的某个属性,param属性指定一个request请求中的参数。这种使用方法允许将请求中的参数赋值给Bean中与该参数不同名的属性。property=propertyName value=值 valu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论