版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3章章 JSP语法详解语法详解 3.1 JSP文件的组成 3.3 JSP脚本元素 3.4 JSP指令元素 3.5 JSP动作元素 3.2 JSP注释方式 3.1 JSP文件的组成文件的组成 3.1.1 JSP页的创建 3.1.2 JSP文件的组成元素 3.1.3 JSP转义字符 返回一个简单的JSP页面:JSP页的创建页的创建 第一个JSP程序 运行效果:返回JSP文件的组成元素(文件的组成元素(1) 1JSP中的指令标识 利用JSP指令可以使服务器按照指令的设置来执行动作和设置在整个JSP页面范围内有效的属性。例如: 2HTML标记语言 HTML标记语言在JSP页面中作为静态的内容,浏览
2、器将会识别这些HTML语言并执行。在JSP程序开发中,这些HTML标记语言主要负责页面的布局、设计和美观,可以说是网页的框架。 JSP文件的组成元素(文件的组成元素(2) 3加入Java代码 加入到JSP页面中的Java代码,在客户端浏览器中是不可见的。它们需要被服务器执行,然后由服务器将执行结果与HTML标记语言一同发送给客户端进行显示。通过向JSP页面中加入Java代吗,可以使该页面生成动态的内容。例如: 4JSP表达式 JSP表达式主要用来输出,它可以向页面输出内容显示给用户,还可以用来动态的指定HTML标记中属性的值。 例如:返回JSP转义字符转义字符 转义字符是以“”开头的特殊字符,
3、在屏幕上是不能显示的,而且在程序中无法用一般形式的字符表示,只能用这种特殊形式表示。常见的转义字符如表所示: 字符形式描述n换行符,将当前位置移到下一行开头,与元素是相同的t制表符,跳转到下一个tab位置b退格符,将当前位置移到前一列r回车符,将当前位置移到本行开头f换页符,将当前位置移到下页开头反斜杠字符“”单引号字符双引号字符返回3.2 JSP注释方式注释方式 3.2.1 HTML注释 3.2.2 JSP隐藏注释 3.2.3 脚本段注释 注释语句可以帮助程序员识别和理解程序代码。在JSP页面中主要存在3种注释方式,分别为HTML注释、JSP隐藏注释及脚本段注释 返回HTML注释注释 HTM
4、L注释的语法格式如下: !-comment - HTML注释将被发送到客户端,但不直接显示,用户在客户端源代码中可以查看到。 例如: 返回JSP隐藏注释隐藏注释 JSP注释语句在传输到客户端的过程中会被过滤掉,不会发送到客户端。JSP隐藏注释语法格式如下: 例如: 返回脚本段注释脚本段注释 脚本段中包括两种注释方式:单行注释和多行注释 1单行注释 单行注释是以“/”符号后面的所有内容为注释内容,服务器对该内容不能进行任何操作。脚本段在客户端通过查看源代码是不可见的,单行注释的格式如下: / 注释内容 2多行注释 多行注释通过“/*”和“*/”符号进行标记,这两个标记必须成对出现,在它们之间输入
5、的注释内容可以换行。多行注释格式如下: /*注释内容1注释内容2 注释内容3*/ 返回3.3 JSP脚本元素脚本元素 3.3.1 声明语句 3.3.2 脚本段 3.3.3 JSP表达式 JSP中脚本元素包括3部分:声明语句、脚本段及JSP表达式,在JSP页面中需要通过特殊的约定来表示这些元素,并且对于客户端这些元素是不可见的,它们都是由服务器执行。 返回声明语句声明语句 声明语句(Declaration)在JSP页面中定义方法和变量,其声明格式如下: 在页面中通过声明元素声明的方法和变量,在整个页面内都有效,它们将称为JSP页面被转换为类文件后中的方法和属性,并且他们会被多个线程即多个用户共享
6、。也就是说,其中的任何一个线程对声明的变量或方法的修改都会改变它们原来的状态。它们的生命周期从创建到服务器关闭后结束。 注意:在“%”与“!”之间不要空格。声明的语法与在Java语言中 声明变量和方法是一样的。 返回脚本段脚本段 脚本段(Scriptlets)就是JSP代码片段或脚本片段,嵌在“”标记中。在脚本段中可以定义变量、调用的方法和进行各种表达式运算,且每行语句后面加入分号。这种Java代码在Web服务器响应请求时会运行。脚本段使用格式如下: 说明:脚本程序的使用比较灵活,实现的功能是JSP表达式无法实现的。 返回JSP表达式表达式 JSP表达式用来把Java数据向页面直接输出信息,其
7、使用格式如下: JSP表达式与JSP页面中嵌入到脚本段中的out.print()方法实现的功能相同。如果表达式输出的是一个对象,则该对象的toString()方法被调用,表达式将输出toString()方法返回的内容。 例如: 运行结果:返回3.4 JSP指令元素指令元素 3.4.1 页面指令元素:page 3.4.2 包含指令元素:include 3.4.3 提供动作指令元素:taglib JSP指令元素主要包括3种:Page指令、Include指令及taglib指令。以“”标记开始,以“%”标记结束。 返回页面指令元素:页面指令元素:page(1) page指令即页面指令,用于定义JSP文
8、件中有效的属性。该指令可以放在JSP页面中的任意位置。Page指令包含多种属性,通过设置这些属性可以影响到当前的JSP页面。Page指令中除import属性外,其他属性只能在指令中出现一次。Page指令语法格式如下: 页面指令元素:页面指令元素:page(2) page指令各属性所具有的功能如下: language:设置当前页面中编写JSP脚本使用的语言。 import:用于向JSP文件中导入需要用户的类包。在Page指令中可多次使用该属性来 导入多个包 。contentType:设置响应结果的MIME类型。默认MIME类型是text/html,默认字符编码 为ISO-8859-1。当多次使用
9、Page指令时,该属性只有第一次使用有效 。 session:说明当前页面是否支持session ,默认值为ture ,表示支持session 。 buffer:设置out对象使用的缓冲区的大小。如设置为none,说明不使用缓存,而直接 通过out对象进行输出;如果将该属性指定为数值,则输出缓冲区的大小不 应小于该值。默认值为8KB 。 autoFlush:设置输出流的缓冲区是否自动清除。默认设置值为true,说明当缓冲区已满 时,自动将其中的内容输出到客户端。如果设置为false,则当缓冲区中的 内容超出其设置的大小时,会产生“JSP Buffer overflow”溢出异常 。isThre
10、adSafe:默认值为true,说明当前JSP页被转换为Servlet后,会以多线程的方式来 处理来自多个用户的请求;如果设置为false,则转换后的Servlet会实现 SigleThreadModel接口,该Servlet将以单线程的方式来处理用户请求,即 其他请求必须等待直到前一个请求被处理结束。 页面指令元素:页面指令元素:page(3) page指令各属性所具有的功能(续): info:设置为任意字符串,如当前页面的作者或其他相关的页面信息。可以通过 Servlet.getServletInfo()方法来获取设置的字符串 。 errorPage:指定一个当前页面出现异常时所要调用的页
11、面。如果属性值是以“/”开头的 路径,则将在当前Web应用的根目录下查找文件;否则,将当前页面的目 录下查找文件 。 isErrorPage:设置为true,说明在当前页面中可以使用excpetion异常对象。若在其他页面 中通过errorPage属性指定了该页面,则当调用页面出现异常时候,会跳转 到该页面,并且在该页面中可以通过exception对象输出错误信息。相反, 如果将该属性设置为false,则在当前页面中不能使用execption对象。该属 性默认值为false 。 isELlgnored:可以使JSP容器忽略表达式语言“$”。其值只能是ture或false。设置为true 则忽略
12、表达式语言;设置为false,则不忽略表达式语言 。 extends:设置当前JSP页产生的Servlet是继承哪个父类。在JSP中通常不会设置该 属性,JSP容器会提供转换后的Servlet继承的父类。并且如果设置该属性, 一些改动会影响JSP的编译能力 。pageEncoding:用来设置JSP页字符的编码,默认值是“ISO-8859-1” 。返回包含指令元素:包含指令元素:include include指令用于在当前的JSP页面中在当前使用该指令的位置嵌入其他的文件,如果被包含文件有可以执行的代码,则显示代码执行结果。include指令的语法格式如下: include指令只存在file属
13、性,表示此file的路径,路径名指的是相对路径,不需要指定端口、协议或域名等。该属性不支持任何表达式,也不允许传递任何参数。 注意:如果该属性值以“/”开头,那么指定的是一个绝对路径,将在当前 应用的根目录下查找文件,如果是以文件名称或文件夹名开头, 那么指定的相对路径将在当前页面的目录上查找文件。 返回提供动作指令元素:提供动作指令元素:taglib taglib指令可以在页面中使用这些基本标记或自定义的标记来完成特殊的功能,在JSP页面中启动客户端定制行为。taglib指令语法格式如下: taglib元素具有两个属性: uri:该属性指定了JSP要在web.xml文件中查找的标签库描述符,
14、该 描述符是一个标签描述文件(*.tld)的映射。在该标签描述文 件中定义了该标签库中各个标签名称,并为每个标签指定一个 标签处理类。 prefix:该属性指定了标签的前缀,此前缀不能使用已被sun公司声 明保留字。前缀名不能为jsp、jspx、java、javax、servlet、 sun、和sunw。 例如: 返回3.5 JSP动作元素动作元素 3.5.1 包含文件: 3.5.2 请求转发: 3.5.3 声明使用JavaBean: 3.5.4 设置JavaBean属性值: 3.5.5 获取JavaBean属性值: 3.5.6 声明使用Java插件:与 3.5.7 参数传递:与 3.5.8
15、其他动作元素 返回包含文件:包含文件: (1) 该元素允许包含动态或静态文件,如果包含的文件是静态的,它仅仅是把包含文件的内容加到JSP文件中去。包含静态文件的使用格式如下: 如果包含的文件是动态的。这个被包含文件也会被JSP编译器执行,并且在编译时可以传递参数。包含动态文件使用格式如下: 包含文件:包含文件: (2) 属性及子元素 page属性:该属性指定了被包含文件的路径,其值可以是相 对路径的表达式。当路径是以“/”开头时,则按 照当前应用的路径查找该文件;如果路径是以文 件名或目录名称开头,那么,将按照当前的路径 查找被包含的文件。 flush属性:该属性标识当输出缓冲区满时,是否清空
16、缓冲区 该属性默认值为false,通常情况下设置为true。 子元素:该子元素可以向被包含的动作页面中 传递参数。 包含文件:包含文件: (3) 与include指令的区别 (1)是直接包含源代码,包含请求的 HTML代码,并且支持JSP表达式和Struts应用中的请求模式。(2)通过包含一个JSP页面,在包含的页面中相关的 response操作都被忽略,也就是说当前操作不能通过response对象 重定向到其他页面。如果用包含的JSP页面,在该 页面中所有的response操作都会正常运行。(3)元素请求代码时,可以带参数,而就不 可以带参数。(4)从执行速度角度上讲,比请求速度快, 因为仅
17、处理一个请求,而处理两个请 求。(5)从实际应用角度上讲,用于检测用户是否登录、网 站标识或网站的一些静态不变的信息;而用于发送 一个请求,并接收返回的HTML,并可以加入参数。 返回请求转发:请求转发: 该元素用于将客户端请求从一个页面转发到另一个JSP页面、HTML或相关的资源文件中。当该元素被执行后,当前页面将不再被执行,而是去执行该元素指定的目标页面。使用格式如下: 如果转发目标是一个动态文件,还可以向该文件中传递多个参数,具体使用格式如下: 参数及元素说明: page属性:该属性指定了目标文件的路径。 元素:该元素用来向动态的目标文件中传递参数。 返回声明使用声明使用JavaBean
18、: (1) 该元素可以在JSP页面中创建一个JavaBean实例,并且通过属性的设置可以将该实例存储到JSP中的指定范围内。使用格式如下: 其他元素设置,如 声明使用声明使用JavaBean: (2) 属性说明 id属性:该属性指定一个变量,在所定义的范围内或Scriptlet中将使用该变量来对所创建的JavaBean实例进行引用。该变量必须符合Java中变量的命名规则。 scope属性:该属性指定了所创建JavaBean实例的存取范围,默认属性值是“page”。scope属性具有的可选值见下表: 属性名称获取方式描述page无指定创建的JavaBean实例只能够在当前的JSP文件中使用,包括
19、通过include静态指令包含的页面中有效requestrequest对象的getAttribute方法获取指定创建的JavBean实例可以在请求范围内进行存取sessionsession对象的getAttribute方法获取指定创建的JavBean实例可以在session范围内进行存取applicationapplication对象的getAttribute方法获取指定创建的JavBean实例可以在application范围内进行存取声明使用声明使用JavaBean: (3) 属性说明(续) class属性:该属性指定了一个完整的类名,指定的类名不能是抽象的,它必须具有公共的、没有参数的构造
20、方法。在没有设置type属性时,必须设置class属性。 type属性:该属性用于设置由id属性指定的变量类型,可以指定要创建实例的类本身、类的父类或是一个接口。 beanName属性:该属性可以是类文件、JavaBean实例或包含JavaBean的串行化文件(.ser文件)。当JavaBean不存在与指定范围内时,才可以使用此属性。它必须使用类型属性来指定要将何种类型的Bean实例化。beanName属性不能class属性一起使用,并且区分大小写。 声明使用声明使用JavaBean: (4)元素的使用: (1)不存在Body的格式如下: (2)存在Body的格式如下: 返回设置设置JavaB
21、ean属性值:属性值:(1) 该元素通常情况下与元素一起使用,它调用JavaBean中的setXXX()方法,将请求中的参数赋值给由元素创建的JavaBean中对象的简单属性或索引属性。该属性的使用格式如下: 元素的属性 name:该属性用来指定一个存在JSP中某个范围中的JavaBean 实例。 设置设置JavaBean属性值:属性值:(2)元素的属性 property=“*”:该属性说明request请求中的所有参数值将被一一 赋给JavaBean中与参数具有相同名字的属性。 property=“属性名称”:该属性取值为JavaBean中的属性时,则只 会将request请求中与该Java
22、Bean属性同名的一个 参数的致赋给这个JavaBean属性。 property=“属性名称” param=“参数名称”:param属性指定一个 request请求中的参数,property属性指定JavaBean 中的某个属性。该方法允许将请求中的参数赋值 给JavaBean中与该参数不同名的属性。 property=“属性名” value=“值”:value属性指定的值可以是字符串 数值或标识一个具体指的JSP表达式或EL表达式。该值将被赋值给property属性指定的JavaBean属性。 返回获取获取JavaBean属性值:属性值: 该属性用来从指定的JavaBean中读取指定的属性值
23、,并输出到页面中。该JavaBean必须具有getXXX()方法。元素的使用格式如下: 返回 元素的属性 name属性:该属性用来指定一个存在某个JSP范围中的 JavaBean实例。 property属性:该属性指定了要获取由name属性指定的 JavaBean中的哪个属性值。 声明使用声明使用Java插件:插件:与与(1) 元素可以在页面中插入Java Applet小程序或JavaBean,它们能够在客户端运行,该元素会根据客户端浏览器的版本转换成或HTML元素。当转换失败时,元素用来显示用户的提示信息。因此,与通常情况下一起使用,使用格式如下: jsp:param name=parameterName value=parameterValue | / text message for user 声明使用声明使用Java插件:插件:与与(2) 其中各参数意义如下:属性与参数名称含义type指定了所要加载插件对象的类型,可选值为“bean”和“applet”codecodebase用来指定code属性指定的Java类文件所在的路径。默认值为当前访问的JSP页面路径name指定了加载的Applet或JavaBean的名称archive指定预先加载的存档文件的路径,多个路径可用逗号进行分隔align主要是加载的插
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2031年中国电流矢量控制交流变频器行业投资前景及策略咨询研究报告
- 2025年尾矿库综合效益提升与资源化利用合同3篇
- 健身中心安全健身活动与会员保障免责协议
- 建设工程施工合同专用条款
- 职业培训课程销售协议
- 童年时光里的电视剧观后感
- 二零二五年度子女抚养权、教育金及财产分割协议2篇
- 2024年核桃信息技术咨询服务
- 二零二五年度中科软件园办公场地租赁合同能源管理细则3篇
- 物流行业信息化建设投资合同
- 土方测量报告
- GA 1807-2022核技术利用单位反恐怖防范要求
- 梅毒诊疗指南(2014版)
- GA 172-2014金属手铐
- 医学医学文献检索与论文写作培训课件
- SQL Server 2000在医院收费审计的运用
- 北师大版小学三年级数学下册课件(全册)
- 工程临时用工确认单
- 简约清新大气餐饮行业企业介绍模板课件
- 氮气窒息事故案例经验分享
- 某公司年度生产经营计划书
评论
0/150
提交评论