脚本语言与交互式网页设计:ch04 JSP语法_第1页
脚本语言与交互式网页设计:ch04 JSP语法_第2页
脚本语言与交互式网页设计:ch04 JSP语法_第3页
脚本语言与交互式网页设计:ch04 JSP语法_第4页
脚本语言与交互式网页设计:ch04 JSP语法_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、Chapter 4JSP语法语法JSP页面的构成页面的构成注释注释指令指令脚本元素脚本元素动作元素动作元素错误处理错误处理JSP页面的构成:页面的构成: JSP原始代码中包含了原始代码中包含了Template (模板模板)数据和数据和JSP元素两类。元素两类。 Template data指的是指的是JSP引擎不处理的部分,即标记引擎不处理的部分,即标记以外的部分,例如代码中的以外的部分,例如代码中的HTML的内容的内容等等 ,这些数据会直接传送到客户端的浏览器。,这些数据会直接传送到客户端的浏览器。JSP元素元素则是指将由则是指将由JSP引擎直接处理的部分,这一部引擎直接处理的部分,这一部分必

2、须符合分必须符合JSP语法,否则会导致编译错误。语法,否则会导致编译错误。 注释:注释:HTML注释;注释;JSP隐藏注释。隐藏注释。指令:指令:page、include、taglib。脚本元素:脚本元素:声明;表达式;声明;表达式;Scriptlet。动作元素动作元素:jsp:param、jsp:include、jsp:plugin例如:例如:example.jsp注释注释提高程序可阅读性;位置要适当、要便于理解。提高程序可阅读性;位置要适当、要便于理解。HTML注释:注释:会输送到客户端浏览器,但不显示;会输送到客户端浏览器,但不显示;静态注释:不可改变;静态注释:不可改变;动态注释:随动

3、态注释:随JSP页面运行环境不同而动态生成客页面运行环境不同而动态生成客户端的户端的HTML注释;注释;格式:格式:!-comment -JSP注释:注释:用于描述用于描述JSP程序代码,不会被程序代码,不会被JSP引擎解引擎解释,也不会输送到客户端浏览器。释,也不会输送到客户端浏览器。格式:格式:使用使用Java的注释机制:的注释机制:指令指令Page指令指令Include指令指令Taglib指令指令指令(指令(Directive):):与与JSP引擎进行沟通,用于并引擎进行沟通,用于并为为JSP页面设置全局变量、声明类以及页面设置全局变量、声明类以及JSP要实现的要实现的方法和输出内容的类

4、型等。方法和输出内容的类型等。JSP指令在整个页面范围内有效,且不在客户端产生指令在整个页面范围内有效,且不在客户端产生任何输出。任何输出。格式:格式:一个指令可以声明多个属性。一个指令可以声明多个属性。格式格式1: 格式格式2: 三种不同指令:三种不同指令:page、include、taglib。当当JSP页面中出现需要显示的页面中出现需要显示的“”时,应时,应进行转换:进行转换: 改为改为 % 改为改为 “改为改为 ” 改为改为 page指令:指令:用来定义用来定义JSP页面的全局属性和相关功页面的全局属性和相关功能,并由该指令和能,并由该指令和JSP引擎进行通信。引擎进行通信。作用于整个

5、作用于整个JSP文件,可以放在任何文件,可以放在任何JSP页面的任何页面的任何位置,但为了便于阅读和格式规范,通常放在位置,但为了便于阅读和格式规范,通常放在JSP页页面开始部分。面开始部分。格式:格式:其中属性可包括:其中属性可包括:language、import、contentType、session、buffer、autoFlush、isThreadSafe、info、errorPage、isErrorPage、extends。一个一个JSP页面可以包含多个页面可以包含多个page指令,指令互相之间指令,指令互相之间是独立的,并且除是独立的,并且除import属性以外每个属性只能定义属性

6、以外每个属性只能定义一次,否则在一次,否则在JSP页面的编译过程中将出现错误。页面的编译过程中将出现错误。声明声明JSP页面中使页面中使用的脚本语言的种用的脚本语言的种类,目前只能用类,目前只能用“java” ,默认值,默认值。定义定义JSP页页面所产生的面所产生的Servlet所继所继承的类,将承的类,将限制限制JSP引引擎提供的超擎提供的超类。类。需要导入的需要导入的Java包包的列表,这些包作的列表,这些包作用于程序段,表达用于程序段,表达式,以及声明。式,以及声明。下面的包在下面的包在JSP编编译时已经导入了,译时已经导入了,所以就不需要再指所以就不需要再指明了:明了: java.la

7、ng.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.* 指定指定JSP页页面是否参与面是否参与一个一个Http会会话,默认值话,默认值是是true。指定到客户指定到客户端输出流的端输出流的缓冲模式,缓冲模式,取值为取值为none将不将不缓冲;取值缓冲;取值为数字表示为数字表示缓冲,大小缓冲,大小为为“数字数字KB”。 默认值是默认值是true,当,当缓冲区满时到客户缓冲区满时到客户端的输出将自动刷端的输出将自动刷新;为新;为false时若缓时若缓冲区满将出现溢出冲区满将出现溢出异常。异常。当当buffer取取none时时,au

8、toFlush不能不能设为设为false。定义了一个定义了一个任意的字符任意的字符串,用来说串,用来说明明JSP页面页面中待说明的中待说明的信息,将直信息,将直接加入翻译接加入翻译好的页面。好的页面。可通过可通过Servlet.getservletinfo()获得。获得。 默认值是默认值是true,可,可以使用多线程,运以使用多线程,运行行JSP页面时可以页面时可以响应多个客户请求响应多个客户请求;取值为;取值为false时,时,JSP引擎将依次处引擎将依次处理客户请求。理客户请求。设置处理异设置处理异常事件的常事件的JSP文件。文件。 设置此页是否为设置此页是否为出错页,如果被出错页,如果被

9、设置为设置为true, 就可就可以使用以使用exception对象。对象。定义了定义了JSP页面响应的页面响应的MIME类型类型以及以及JSP页页面的字符编面的字符编码。码。设置设置JSP页面的字页面的字符编码,默认值为符编码,默认值为“ISO-8859-1”。用来设置用来设置EL表达表达式是否被忽略,式是否被忽略,若取值为若取值为true则不则不计算计算EL表达式,表达式,反之不忽略。反之不忽略。例如:例如:page.jspinclude指令:指令:用来指定用来指定JSP被编译时所需插入的资被编译时所需插入的资源,可以时文本、代码、源,可以时文本、代码、HTML文件或文件或JSP文件。文件。

10、格式:格式: 其中其中relativeURL表示要包含的文件路径,以目录或文表示要包含的文件路径,以目录或文件名开头表示是正在使用的件名开头表示是正在使用的JSP文件的当前路径,以文件的当前路径,以/开头表示参照开头表示参照JSP应用的相对路径。应用的相对路径。一但一但JSP文件完成编译,资源内容就不可改变,要改文件完成编译,资源内容就不可改变,要改变必须重新编译,服务器不同情况可能不同。变必须重新编译,服务器不同情况可能不同。利用利用include指令可以将一个复杂的指令可以将一个复杂的JSP页面分为若干页面分为若干部分,如部分,如head.jsp、body.jsp、tail.jsp,然后在

11、同一网,然后在同一网站的不同站的不同JSP页面用页面用include指令调用指令调用head.jsp和和tail.jsp,方便管理方便管理JSP页面。页面。例如:例如:include.jsp。taglib指令:指令:用来自定义标签,可以把一些需要反复用来自定义标签,可以把一些需要反复显示的内容定义成为一个标签,从而增加代码的重用显示的内容定义成为一个标签,从而增加代码的重用度,并使页面便于维护。度,并使页面便于维护。定义标签的三个步骤:定义标签的三个步骤:定义一个标签处理类,用于实现标签的功能;定义一个标签处理类,用于实现标签的功能;定义标签库描述文件(以定义标签库描述文件(以.tld为后缀)

12、,对标记的为后缀),对标记的相关信息进行说明;相关信息进行说明;最后在配置文件最后在配置文件web.xml中配置。中配置。格式:格式:uri,说明标签描述文件和标签库的路径,说明标签描述文件和标签库的路径,URI可可以是以是URL、绝对或相对路径、绝对或相对路径、标签库描述文件标签库描述文件;prefix,定义了定义了JSP页面里要引用该标签时的前缀,页面里要引用该标签时的前缀,用来区分多个自定义标签,注意该前缀不可以是用来区分多个自定义标签,注意该前缀不可以是jsp、jspx、java、javax、sun、servlet、sunw。例如:例如: taglib select * from bo

13、oks 声明声明表达式表达式Scriptlet 脚本元素:脚本元素:用用Java写的脚本代码,以写的脚本代码,以结束,可以分为声明、表达式、结束,可以分为声明、表达式、Scriptlet三类。三类。声明:声明:用来定义程序中使用的实体,可以声明变量用来定义程序中使用的实体,可以声明变量或方法,以或方法,以结束。结束。格式:格式:例如:例如:声明变量声明变量声明方法声明方法 example.jsp中的中的getDate()方法方法每个声明仅在一个每个声明仅在一个JSP页面内有效,若想在多个页面内有效,若想在多个JSP页面页面中有效,可以将声明写在一个中有效,可以将声明写在一个JSP页面内,然后用

14、页面内,然后用include指令将其包含在每个指令将其包含在每个JSP页面中。页面中。 表达式:表达式:以以结束,中间为一个合法结束,中间为一个合法的的Java表达式。表达式。格式:格式:表达式的执行结果会被自动转换为字符串,显示在表达式的执行结果会被自动转换为字符串,显示在JSP页面中;页面中;表达式不能以表达式不能以“;”结尾。结尾。例如:声明变量例如:声明变量Scriptlet:以以结束,中间包含一段结束,中间包含一段合法的合法的Java代码代码(多个语句、方法、变量、表达式多个语句、方法、变量、表达式)。格式:格式:Scriptlet 能做以下的事:能做以下的事:声明将要用到的变量或方

15、法;声明将要用到的变量或方法;显示出表达式;显示出表达式;使用任何隐含对象和使用使用任何隐含对象和使用声明过的对象声明过的对象编写编写JSP 语句语句 ;当当JSP收到客户端的请求时,收到客户端的请求时,Scriptlet 就会被执行,就会被执行,Scriptlet的显示内容会被存在的显示内容会被存在out 对象中,然后再利用对象中,然后再利用out 对象中的对象中的println()方法显示出结果。方法显示出结果。例如:例如:将将example.jsp中的中的getDate()方法声明为方法声明为Scriptlet,文件名为文件名为example1.jsp。动作元素:动作元素:主要是在请求处

16、理阶段起作用,能影响主要是在请求处理阶段起作用,能影响输出流和对象的创建、使用、修改等,是用输出流和对象的创建、使用、修改等,是用XML语语法写成的。法写成的。格式:格式: 或:或: tagbody 其中:其中:tagName表示动作元素名,表示动作元素名,JSP2.0定义了定义了20种标准种标准动作元素,均以动作元素,均以“jsp”为前缀。为前缀。 JSP的动作元素可以分为五类:的动作元素可以分为五类:第一类有第一类有3个个action 元素,都用来存取元素,都用来存取JavaBean。第二类有第二类有6 个个action 元素,这部分是元素,这部分是JSP 1.2 原有的原有的action

17、 元素。元素。第三类有第三类有6 个个action 元素,主要用在元素,主要用在JSP Document 之中,其中之中,其中是是JSP 2.0新增的元素。新增的元素。第四类有第四类有3 个个action 元素,主要用来动态产生元素,主要用来动态产生XML 元素标签的值,都是在元素标签的值,都是在JSP 2.0中加入进来的元素。中加入进来的元素。第五类有第五类有2 个个action 元素,主要用在元素,主要用在Tag File 中。中。传递一个或多个参数到指定动态文件,需传递一个或多个参数到指定动态文件,需要和要和 一起使用,一起使用,能在一个页面中使用多个能在一个页面中使用多个来传递多个参数

18、。来传递多个参数。格式:格式:其中其中:paramName表示参数名,表示参数名,paramValue表示参数值。表示参数值。例如:例如:当在用当在用或者或者时,被包含的网页时,被包含的网页或转向后的网页会先看看或转向后的网页会先看看request对象里除了原本的参数对象里除了原本的参数值之外,有没有再增加新的参数值,如果有增加新的参数值之外,有没有再增加新的参数值,如果有增加新的参数值时,则新的参数值在执行时,有较高的优先权。值时,则新的参数值在执行时,有较高的优先权。操作允许在操作允许在JSP页面中包含静态和动态页页面中包含静态和动态页面,静态页面直接将内容加入面,静态页面直接将内容加入J

19、SP页面中,动态页面先被页面中,动态页面先被JSP服务器编译执行。服务器编译执行。格式:格式: jsp:include page=“relativeURL|” flush=“true|false”/ 其中:其中:page表示所要包含的文件的相对表示所要包含的文件的相对URL,可以是一,可以是一个字符串,也可以是一个个字符串,也可以是一个JSP表达式;表达式;flush的值为的值为true 时时表示当缓冲区满时将被清空,默认为表示当缓冲区满时将被清空,默认为false 。还可以用还可以用给给JSP页面传递参数,格式如下:页面传递参数,格式如下:jsp:include page=“relative

20、URL|” flush=“true|false”例如:例如:操作允许将当前的请求转发至另一个静操作允许将当前的请求转发至另一个静态文件、态文件、JSP页面或含有与当前页面相同内容的页面或含有与当前页面相同内容的Servlet。格式:格式: jsp:forward page=“relativeURL|” /其中:其中:page表示所要转发的文件的相对表示所要转发的文件的相对URL,可以是一,可以是一个字符串,也可以是一个个字符串,也可以是一个JSP表达式。表达式。需注意:一旦在需注意:一旦在JSP页面中使用页面中使用标签,其后标签,其后的程序将无法执行。的程序将无法执行。可以在可以在操作中给操作中给JSP页面传递参数,格式:页面传递参数,格式:jsp:forward page=“relativeURL|” 例如:例如: forward 用来在客户端浏览器中播放或显示一个用来在客户端浏览器中播放或显示一个对象,通常为对象,通常为Applet或或Bean,最终根据浏览器版本替,最终根据浏览器版本替换为换为或或。格式:格式: artibute_text 编译阶段的错误处理编译阶段的错误处理处理客户请求阶段的错误处理处理客户请求阶段的错

温馨提示

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

最新文档

评论

0/150

提交评论