1、第2章 JSP元素,本章主要内容,常用的HTML标记 JSP指令元素 JSP脚本元素 JSP动作元素 XML与XML文档,2.1 JSP页面的组成元素,2.1.1 JSP页面的组成元素JSP文件是一个文本文件,文件中的内容由若干个元素构成。JSP网页中的元素分类如图2-1示。,2.1 JSP页面的组成元素,2.1 JSP页面的组成元素,2.1.2 常用的HTML标记 HTML (HyperText Markup Language,超文本标记语言)不是程序设计语言,而是一组标记,便于网页设计人员把文本、图像、动画等制作成有一定效果的网页,资源间通过超链接联结成为一个有机的整体。,2.1 JSP页
2、面的组成元素,HTML文件的基本结构包括文件头(Head)和文件体(Body)两大部分,头部为浏览器提供所需的描述信息,主体则包含待显示的内容。 HTML文本由浏览器解释并还原出页面效果。,2.1 JSP页面的组成元素,HTML标记是用尖括号标识的字符串,尖括号中的英文名叫标记名(如),标记名与左边的“标记可定义字体、字号和字的颜色等。,2.1 JSP页面的组成元素,大部分HTML标记是成对出现,不带“/”的叫起始标记,带有“/”的叫结束标记。标记的属性参数一般写在起始标记内。起始标记和结束标记间的对象称为标记体,标记的效果作用在标记体上,例如: JSP程序设计,2.1 JSP页面的组成元素,
3、当一个标记对没有标记体时,称之为空标记,此时可用简写式来表示,即:在起始标记的“”字符前加上“/”,并把结束标记省略不写。如: ,2.1 JSP页面的组成元素,1、文件标记 文件标记在HTML文件中,用于指出HTML文件的各组成部分。HTML文件标记一般只出现一次,如果重复出现,一些早期的浏览器可能无法正常解释。,2.1 JSP页面的组成元素,(1) 标记 标记表示HTML文件从此处开始,到标记结束,这对标记处在最外层,网页的内容写在此标记内。,2.1 JSP页面的组成元素,(2) 标记 这对标记表示此处是HTML文档的文件头。文件头内部的信息一般不会在浏览器的正文区显示。此标记对内可以插入其
4、它标记,如网页标题标记。,2.1 JSP页面的组成元素,(3) 标记 这对标记表示此处是网页的主体,一般不能省略,标记体的内容在浏览器正文区中显示,例如文字、图片和超链接等。,2.1 JSP页面的组成元素,2、排版标记 (1)标记 标记在HTML文件中作注释用,对网页中的代码作说明,可以放在网页中的任何位置。注释内容会返回到客户端浏览器上,但不显示。在IE5浏览器中,通过菜单【查看】【源文件】,可以看到注释。,2.1 JSP页面的组成元素,(2)标记 标记对用于标识一个段落,两个相邻的段落间有一空行的间隔。在DreamWeaver8的设计视图模式中,输入文字后按键,会自动产生标记。,2.1 J
5、SP页面的组成元素,(3)标记 这个标记没有结束标记,表示换行。在DreamWeaver8的设计视图中,输入文字后按+组合键,会自动产生标记。标记和都能换行,但换行后,上下两行的间距比较小,标记换行后,上下两行有一空行的间距。,2.1 JSP页面的组成元素,3、字体标记 字体标记包括有: 、等。 1)标记用于定义字体、字号大小和颜色。标记的主要属性有face、size、color。(1)face属性用于设置字体,如:。,2.1 JSP页面的组成元素,(2)size属性用于设置字号,HTML中定义了7种字号,1号最小,7号最大,如:。字号也可以用“磅”(px)表示。 (3)color属性用于设置
6、文本的颜色,color有三种方法来设定颜色,第一种方法是用颜色名称,第二种方法用红、绿和蓝色百分比的RGB值来设定,第三种方法是用十六进制的颜色代号来设定颜色。,2.1 JSP页面的组成元素,如: 颜色设定 颜色设定 颜色设定,2.1 JSP页面的组成元素,4、表格标记 在网页中,表格主要分成排版表格和数据表格两种。 排版表格在浏览器中不显示边线,仅供排版、布局用。 数据表格在浏览器中显示边线或背景色,用于列表显示数据。,2.1 JSP页面的组成元素,标记表示表格的开始,表示表格到此结束。 表示表格中的一行。 间如果有n对标记,表示此表格有n行。 表示一行中的一列,一般写在内。,2.1 JSP
7、页面的组成元素,、间的嵌套关系为:,2.1 JSP页面的组成元素,【例2-1】用DW8制作一个3行3列的细线数据表格,表格宽400像素,边线粗细为1个像素,边线颜色为红色。操作步骤如下: 第一步:启动DW8,在【文件】窗口中单击右键,在弹出的快捷菜单中选择【新建文件】,自动生成一个JSP页面文件,将其更名为exam201.jsp。双击exam201.jsp文件,打开供编辑,确定当前文档视图为设计视图。,2.1 JSP页面的组成元素,第二步:插入表格。使用菜单【插入】【表格】,在对话框中填写如下参数:行数为3,列数为3,表格宽度为400像素,边框粗细为0,单元格边距为0,单元格间距为1,单击“确
8、定”按钮后编辑区中插入了一个表格。,2.1 JSP页面的组成元素,第三步:定义表格的背景色为红色。在编辑区中单击表格的边线,选定整个表格,属性面板上,背景颜色选择红色(#FF0000)。 第四步:定义单元格的背景色为白色。用鼠标左键拖动选定表格中的所有单元格,在属性面板中,定义单元格的背景色为白色(#FFFFFF),至此,细线表格生成。,2.1 JSP页面的组成元素,第五步:预览。用快捷键+S保存文档,启动Tomcat,按预览exam201.jsp,即可看到网页上的细线表格。 以上操作录相请参考电子资源包democh2exam201.exe文件。,2.1 JSP页面的组成元素,5、表单 表单是
9、系统和用户交互的手段之一。用户在表单中填写数据,提交后,表单中的数据传递给后台程序处理,实现了客户端和服务器的交互。,2.1 JSP页面的组成元素,(1)和标记标记表示表单的开始和结束。在表单标记中可以存放各种表单元素,如文本域、按钮等。一个表单元素相当于一个变量,它的取值相当于变量的取值。 标记中的id和name属性均为表单的ID名,用于在当前网页中标识表单,在当前网页中此ID名应该唯一。,2.1 JSP页面的组成元素,中action属性值为后台表单处理程序的URI,本例指定用exam.jsp来处理表单数据。 标记中的method属性表示数据的提交方式,一般有GET和POST两种方式。GET
10、方式将表单中的数据按照“变量名=变量值”的形式附加在URL的查询串中,各个变量之间使用“&”连接。,2.1 JSP页面的组成元素,本例如果采用GET方式提交数据,则相应的URL类似于: http:/127.0.0.1:8080/exam.jsp?name=user1&Submit=%CC%E1%BD%BB,2.1 JSP页面的组成元素,用GET方式提交表单数据的优点是速度快,缺点是变量值会在浏览器的地址栏中显示,并且URL的长度有限制,一次所能提交的数据量有限。 如果用POST方式提交表单数据,表单数据按“变量名=变量值”的形式存放在HTTP请求报头尾部的数据体中,表单数据不会显示在URL中。
11、,2.1 JSP页面的组成元素,(2)文本域标记 文本域表单的常见用法如:标记表示此标记是写入标记,存储用户写入的信息。标记中的id和name属性为文本域的ID名,type属性表示此写入标记的类型,value属性存储文本域的值。,2.1 JSP页面的组成元素,多行文本框用文本区域表单元素实现,它的HTML标记使用格式如下: 内容 name属性是文本区域的名字。由于多行文本框可以输入较多的内容,所以把写入的内容存储在标记体中。,2.1 JSP页面的组成元素,(3)单选按钮 在实际应用中的“性别”信息一般通过单选按钮采集,用户在给定的“男”和“女”两个选项中选择其中一个,相应的HTML代码如:,2
12、.1 JSP页面的组成元素,(4)复选按钮 在实际应用的“爱好”信息一般通过复选按钮采集,用户在列出的多个爱好中作出选择,可以选零个,也可以全选,相应的HTML代码如:,2.1 JSP页面的组成元素,(5)隐藏表单域 隐藏表单域是不可视的表单元素,用于存储隐含信息,例如将用户的登录信息存储在隐藏表单域中,用户提交表单后,隐藏表单域中的信息也会被提交给服务器。隐藏表单域记录的是“name=value”形式的信息,它的HTML标记类似于:,2.1 JSP页面的组成元素,(6)列表表单元素 列表表单元素预先把一组可供选择的数据存储在列表中,以下拉菜单或列表的形式供用户在其中选择,其中name是选项的
13、提示文字,value才是选项的值。它的HTML标记形如:,公司员工在校学生公务员 ,2.1 JSP页面的组成元素,(7)文件域表单元素 文件域表单由一个文本域和一个按钮组成,单击按钮后会激活一个文件选择对话框,从本地磁盘中选择一个文件,被选中文件的路径及文件名自动填写在文本域中。上传文件时,需要用到文件域。文件域的HTML标记形如:,2.1 JSP页面的组成元素,6、超链接 标记的href属性可以定义超链接,它的一般用法是: 下一页 href属性值为目标资源的URL,如果是空链接,则URL写为“#”。,2.1 JSP页面的组成元素,【例2-2】用DW8设计一个会员注册的JSP页面,如图2-2示
14、。用户名文本域的名称为userName,口令文本域的名称为password。性别用单选按钮实现,名称为sect,可选值为“男”、“女”。爱好为复选按钮,名称为hobby,可选值有“篮球”、“排球”和“足球”。开户行是下拉列表,名称为bankAccount,可选值有“中国银行”、“工商银行”、“建设银行”。附言是多行文本域,名称为memo。最后是提交按钮,以POST方式提交给exam303.jsp页面。,2.1 JSP页面的组成元素,2.1 JSP页面的组成元素,操作步骤如下: (1)启动DW8,在【文件】窗口中合适的位置上单击右键,在弹出的菜单中选择【新建文件】,将新生成的JSP页面改名为ex
15、am202.jsp,双击打开供编辑。 (2)插入表单:使用菜单【插入】【表单】【表单】,单击选中表单的红色边框,在属性面板上的【动作】项中输入“exam303.jsp”作为后台处理程序,在【方法】项中选中“POST”。,2.1 JSP页面的组成元素,(3)按图2-2的要求,在表单内制作出题目所要求的表单。 (4)保存文档。使用菜单【文件】【保存】,或用快捷键+S。 (5)预览。启动Tomcat,在DW8中,按预览当前页,则IE浏览器中显示图2-2示的表单。 以上操作录相请参考电子资源包democh2exam202.exe文件。,2.2 JSP注释元素,JSP页面中的注释用于说明程序段的主要作用
16、或程序员的意图,方便日后维护或备忘。JSP页面中的注释主要两种:JSP注释和HTML注释。,2.2 JSP注释元素,2.2.1 JSP注释 JSP注释也叫隐藏注释或服务器端注释,只有打开JSP页面后才能看到它。JSP注释中的内容被编译器忽略,不会出现在Servlet程序中,也不会返回给客户端浏览器。其基本语法为: ,2.2 JSP注释元素,例如:JSP注释在JSP页面上的位置没有统一规定,但习惯上写在程序段前,需要注意:JSP注释属于标记级的注释,不要把它嵌套在类似于“”的标记内。,2.2 JSP注释元素,2.2.2 HTML注释 HTML注释也叫输出注释,属于HTML标记范畴,也是标记级的注
17、释。其基本语法为: | ,2.2 JSP注释元素,HTML注释被JSP编译器视为HTML标记,直接用out.write()方法输出。标记中的注释内容会返回到客户端浏览器,但注释信息不会在浏览器中显示。在HTML注释中,可以使用或等标记输出一些动态的注释信息。,2.3 JSP指令元素,JSP指令元素(Directive Elements)主要供JSP容器使用,为JSP容器提供相关的页面属性信息,用于指示JSP容器如何正确地翻译代码,或者执行特定的操作。 JSP指令元素主要包括三个:include、page和taglib,它们的基本语法格式形如:,2.3 JSP指令元素,2.3.1 include
18、指令元素 1、include指令的基本语法 include指令元素称为文件包含,是在JSP容器把JSP网页翻译成Servlet程序时,将指定文本文件的内容嵌入Servlet程序中,替换include指令。其基本语法为,2.3 JSP指令元素,file属性指出被包含资源的URL,可使用相对路径或绝对路径。绝对路径以Web应用的上下文路径名“/xxxx”开头,如:,2.3 JSP指令元素,2、include指令的使用注意事项 include指令适合于包含静态内容。 include指令是代码静态绑定,被include指令包含的内容在编译时会被静态地嵌入Servlet程序中 。 include指令影响
19、JSP页面的可读性。,2.3 JSP指令元素,2.3.2 page指令元素 page指令用于设置当前JSP页面的属性。 page指令中的属性大多数只需要在JSP页面中定义一次 。 page指令中允许重复使用多次的属性有pageEncoding和import属性等。习惯上,把page指令写在JSP页面的头部。,2.3 JSP指令元素,page指令的基本语法格式如下,2.3 JSP指令元素,1、language属性 这个属性定义JSP页面脚本代码所采用的编程语言,默认值为java。 2、extends属性 JSP页面最终会被JSP容器编译成一个Servlet程序,extends属性用于定义这个Se
20、rvlet程序的父类。,2.3 JSP指令元素,3、import属性 import属性用于导入当前JSP页面中要用到的其它Java类。如果要导入多个Java类,用逗号来分隔它们,例如要导入java.util.*和java.io.*,可写为:也可以分为两行来写,例如:,2.3 JSP指令元素,4、pageEncoding属性 pageEncoding定义当前页面的字符编码标准,默认的字符集为ISO-8859-1,如果页面中有简体中文,则字符集应该定义为GB2312或GBK。,2.3 JSP指令元素,5、contentType属性 contentType属性定义MIME类型(MIME-type)和
21、字符集。 MIME (Multipurpose Internet Mail Extensions,多功能Internet 邮件扩充服务)使用简单的ASCII文本来传递E-mail信息, E-mail中允许包含有任意类型的附件文件。,2.3 JSP指令元素,给HTTP协议附加了MIME-type信息,用于指明HTTP中所传递信息的数据类型,浏览器接收完数据后,按照数据的类型调用合适的软件来处理这些数据。 例如,如果接收到的信息是一个Excel文件,则IE5浏览器会自动启动Excel软件来处理这些信息,如果Excel软件启动失败或客户端找不到Excel软件时,IE浏览器提示用户将接收到的信息另存为
22、文件。,2.3 JSP指令元素,常见的MIME-type类型,2.3 JSP指令元素,contentType属性的一般用法如下示:,2.3 JSP指令元素,6、session属性 session属性用来指示JSP页面的Servlet实现类中,是否要生成一个session隐含对象。关于session隐含对象,在后续的章节中有详细的介绍。,2.3 JSP指令元素,7、buffer属性 out对象是JSP页面的隐含对象之一,用于向客户端返回信息。buffer属性为out对象定义输出流缓冲区,则out.write()输出的信息会暂时存储在缓冲区中,缓冲区被刷新后,其中的信息会通过PrintWriter
23、对象传给客户端。,2.3 JSP指令元素,输出缓冲区能够改善系统的性能。buffer属性取值为none时,表示不设缓冲区,则out对象的输出信息会直接传递PrintWriter。当buffer取值为nkb时,表示缓冲区的大小为nKB,默认值为8KB。一个应用样例如:,2.3 JSP指令元素,8、autoFlush属性 定义out对象缓冲区的刷新属性。autoFulsh取值为true时,表示缓冲区满时自动执行刷新操作,取值为false表示缓冲区满时,抛出一个IOException异常。默认值为true。这个属性一般和buffer属性联合使用,如果buffer=“none“时,则autoFlush
24、=“true“无效。一个应用样例如:,2.3 JSP指令元素,9、isThreadSafe属性 isThreadSafe=“true“时,表示JSP编译后所得的Servlet程序以多线程方式工作,采用Servlet多线程方式工作能提高程序的响应速度,减少系统开销。默认值为true。当isThreadSafe=“false“时,表示Servlet程序以单线程方式工作。,2.3 JSP指令元素,10、info属性 定义JSP页面的信息,如版权、开发日期等,可通过javax.sevlet.Servlet.getServletInfo()方法读取这些信息。一个样例如下示:,2.3 JSP指令元素,11
25、、isELIgnored 属性 isELIgnored=“true“时,表示忽略JSP页面中的EL表达式,isELIgnored=“false“时表示JSP页面中的EL表达式要被解释和执行。默认值为true。EL表达式是JSP2.0中新增的技术规范,在后续章节有详细的介绍。,2.3 JSP指令元素,12、errorPage属性 JSP页面如果发生了运行时异常,出错原因、出错的类名、出错的行号、出错的方法名等信息会被封装在异常对象中。errorPage属性用于指明:JSP页面发生运行时异常,则把异常对象传递给指定的出错页处理,errorPage中的值为出错页的URL,可用相对路径或绝对路径表达。
26、此项默认值为空,则运行时异常信息直接显示在浏览器上。应用样例如下示:,2.3 JSP指令元素,当前JSP页面出现运行时异常,服务器会把异常对象传递给nullString.jsp页面处理。errorPage属性在JSP页面中只需定义一次,如果定义多次,编译时可能会引发“重复标记”的语法错误。, 或: ,2.3 JSP指令元素,13、isErrorPage属性 isErrorPage=“true“时,定义本JSP页面为异常对象处理页,特点是当前JSP页面的Servlet实现类中定义有exception隐含对象,接收异常页传递过来的异常信息。exception对象是Throwable类型的,在后续章
27、节中有介绍。 isErrorPage=“false“时,Servlet程序中不定义exception隐含对象。,2.3 JSP指令元素,【例2-3】定义一个exam208.jsp页面,运行时会发生异常,并能自动切换至exam209.jsp页面显示出错的类名、方法名、出错原因等信息。操作步骤如下: (1)启动DW8,新建JSP文件exam208.jsp。在exam208.jsp的代码视图中,将第1行中的指令属性修改如下:,2.3 JSP指令元素,定义若exam208.jsp发生运行时异常,则转至exam209.jsp页面显示异常信息。 在exam208.jsp的间输入如下的代码,使exam208
28、.jsp运行时发生对象引用为空的异常:,2.3 JSP指令元素,保存exam208.jsp,第1行: 第2行: 第6行: ,2.3 JSP指令元素,(2)在DW8中新建JSP文件exam209.jsp。在exam209.jsp的代码视图中,修改第1行指令,定义当前页为异常对象处理页:,2.3 JSP指令元素,在exam209.jsp中的标记内,添加如下示的代码:,第1行: 第2行: “); 第5行: out.print(“出错的文件:“+a0.getFileName()+“); 第6行: out.print(“出错的方法名:“+a0.getMethodName()+“); 第7行: out.p
29、rint(“出错的行号:“+a0.getLineNumber()+“); 第8行: % 第9行: ,2.3 JSP指令元素,(3)预览。启动Tomcat,预览exam208.jsp页面,结果如图2-3示。,2.3 JSP指令元素,在实验过程中,如果exam208.jsp和exam209.jsp中的代码均没有语法错误,但预览exam208.jsp后,异常信息无法显示,只是在IE5浏览器中出现“该页无法显示”的提示,这是服务器传递给IE5的错误信息不足1KB以及IE5的高级选项中设置了“显示友好HTTP错误信息”参数引起,最简单的解决方法是在exam209.jsp页面的标记内,加入 注释标记,在注
30、释标记中多粘贴一些文字,使服务器的返回信息在1KB以上。,2.3 JSP指令元素,例如在exam209.jsp的标记中,加入以下的注释:,2.3 JSP指令元素,2.3.3 taglib指令 1、taglib标记库 taglib是JSP中实现模型与表示分离的重要机制,一个标记的后台有相关的Java程序与之对应,在JSP页面中使用了一个标记,则表示此处调用相应的Java程序,程序运行结果传回至标记处显示。,2.3 JSP指令元素,taglib的优势是明显的:它实现了模型与表示的分离,提高了Java代码的可重用性和可维护性,例如要修改代码时,程序员只需要对Java程序进行重新编译,不需要触及网页表
31、示层。 在JSP中,标记库主要包括标准标记库和扩展标记库。标准标记库就是常用的JSP动作(JSP Action),例如:、等。扩展标记库包括JSTL和用户自定义的标记等,在后续的章节中有详细的介绍。,2.3 JSP指令元素,2、taglib指令 在JSP页面中可以直接使用JSP动作,但如果要使用扩展标记库,要求在JSP页面头部用taglib指令作出声明。taglib指令的语法格式为:,2.3 JSP指令元素,其中uri属性值是待用标记库的URI,每个标记库都有一个唯一的URI,这个URI在标记库的配置文件中已作定义,此处直接引用。prefix属性值是待用标记的前缀,在标记库的配置文件中也已经作
32、定义,此处也是直接引用。例如:,2.4 JSP脚本元素,2.4.1 声明元素声明元素用于声明类成员变量、成员方法或内部类。 1、声明元素的基本语法格式,2.4 JSP脚本元素,2、用声明元素声明类成员变量 例如:,2.4 JSP脚本元素,3、用声明元素声明成员方法 例如:,2.4 JSP脚本元素,2.4.2 脚本小程序 脚本小程序就是一段Java代码。在JSP页面中声明脚本小程序的基本语法格式为:Tomcat把标记内的Java代码段放在Servlet实现类 _jspService()方法的try内,所以在内定义的变量属于局部变量,并且作用范围仅限于try内。如果有多个标记,则按出现的先后顺序转
33、译到try内。,2.4 JSP脚本元素,一个样例如下示:,2.4 JSP脚本元素,【例2-4】有一个空白的学生成绩表格如下示,第1行是表格的标题行,第2行起是数据行。第1行标题栏的文字要居中对齐,背景色为浅紫色(#CC66FF)。要求用JSP脚本程序段产生5行数据行,并且奇数号数据行背景色为浅黄色(#FFFF99),偶数号数据行背景色为浅绿色(#33FF66),最终得到一个6行3列的空白学生成绩表。,2.4 JSP脚本元素,操作步骤如下: (1)启动DW8,新建JSP文件exam210.jsp。在设计视图模式下插入一个表格,表格的参数为:2行3列,400像素宽,间距为1像素,其它参数均为0。
34、(2)在表格第1行的3列中,分别输入题目标题栏中的文字“学号”、“姓名”、“成绩”。拖动鼠标左键,选定第1行的3 列,在属性面板上单击【居中对齐】按钮,在【背景颜色】栏中输入背景色取值“#CC66FF”。,2.4 JSP脚本元素,(3)切换到代码视图,找到第2个标记,添加如下的代码:,2.4 JSP脚本元素,2.4.3 表达式元素 表达式元素的基本功能是运行一条Java表达式,如果表达式有计算结果,则把结果显示在表达式位置上。表达式元素的基本语法格式如下:,2.4 JSP脚本元素,表达式元素的标记经过Tomcat翻译后,在Servlet实现类中一般表示为:如果表达式复杂,则标记可能被分解成多条
35、连续的out.write()语句。 表达式元素的用法例如:注意表达式不能带Java语句结束符“;”。,out.write(expression);,2.5 JSP标准动作,在JSP中,将类似于的JSP标记也称为JSP动作。JSP动作分为标准动作和扩展动作。JSP标准动作是一组形如“”的标记,标记的前缀均为“jsp”。JSP标准动作的标记名是由JSP规范定义,用户不能随意更改。利用JSP动作可以动态地插入文件、将用户重定向到另一个页面、动态生成XML元素等。,2.5 JSP标准动作,2.5 JSP标准动作,2.5.2 动作 动作也叫动态包含,它将被包含的文件视为一个独立的文件,在程序运行时包含目
36、标资源的返回信息。动态包含一个文件相当于在运行时动态调用这个文件。被包含的资源可以是动态的,也可以是静态的。,2.5 JSP标准动作,动态包含的基本语法格式如下:或, * ,2.5 JSP标准动作,在标记中,page=“urlSpec“属性定义了被包含资源的URL,可用相对路径或绝对路径表达。属性flush=“true“时,表示在包含目标资源前,先刷新当前页面输出缓冲区中的内容。flush=“false“时,包含文件前,不刷新当前页面的输出缓冲区。默认值为false。如果要给被包含的页面传递参数,可以使用标记。,2.5 JSP标准动作,在被包含的页面中,不能改变response的状态码,也不能
37、对HTTP响应报头进行设置,这些工作应当在调用页面中进行。例如,有一个被包含的文件my2.jsp为:,调用包含文件返回的结果: ,2.5 JSP标准动作,要在my1.jsp包含这个JSP文件,则调用代码为:在Tomcat中,my1.jsp和my2.jsp被编译成两个Servlet程序,其中动作在Servlet实现类中的代码为:,2.5 JSP标准动作,JSP容器能自动识别被包含文件中的内容哪些是静态,哪些是动态,对于静态内容不作处理,直接打印输出;对于动态内容,则执行相应的程序代码。 值得注意的是:如果被包含文件中存在动态内容,则文件名的后缀应该为*.jsp,如果取其它的文件名后缀,JSP容器
38、在调用被包含文件时不执行编译操作,动态内容的代码将被忽略。,2.5 JSP标准动作,2.5.3 动作 主要是为、和等动作元素传递参数,如果在其它场合中使用它,JSP容器会报告翻译错误。 的基本语法为:,2.5 JSP标准动作,2.5.4 动作 动作使程序从当前页面跳转到另一个目标页面运行,目标页面可以是静态资源(如*.htm),也可以是一个JSP页面(*.jsp),还可以是一个Servlet、CGI程序等。会导致当前JSP页面运行中断,断点后的代码将无法被继续执行。,2.5 JSP标准动作,的基本语法格式为:或, * ,2.5 JSP标准动作,2.5.5 动作 主要用来在客户端浏览器中加载运行
39、一个Applet或JavaBean,被加载的Applet或JavaBean可以是单个类文件*.class,也可以是一个*.jar包。在JSP页面中使用动作,服务器将把被加载的文件传送到客户端,由客户端的JVM运行Applet或JavaBean。,2.5 JSP标准动作,的基本语法格式为:,jsp:plugin type=“bean|applet“ code=“objectCode“ codebase=“objectCodebase“ align=“alignment“ archive=“archiveList“ height=“height“ hspace=“hspace“ jreversio
40、n=“jreversion“ name=“componentName“ ,2.5 JSP标准动作, vspace=“vspace“ title=”title” width=“width“ nspluginurl=“url“ iepluginurl=“url“ mayscript=true|false + arbitrary_text ,2.5 JSP标准动作,2.5.6 和 是的一部分,只能在中使用,在其它场合下使用,JSP容器在翻译时会报错。在内部书写。也是的一部分,只能在中使用,在其它场合下使用,JSP容器在翻译时会报错。用于定义启动Applet/JavaBean失败时,显示的提示信息。,
41、2.5 JSP标准动作,2.5.7 XML与XML文档 1、XML与XML文档 XML (eXtensible Markup Language, 可扩展的标记语言)允许用户自定义一组标记来描述数据,XML的主要目标是提供结构化数据。XML文档由文件头和文件体两大部分构成。文件头负责向XML解释器传递文档信息,主要包括XML声明、注释和文档类型等。文件体是用XML标记描述数据。,2.5 JSP标准动作,文档声明XML文档的第一行一般是文档声明,它的基本格式如下示:XML声明中有三个属性:version、encoding和standlone。,2.5 JSP标准动作,version属性指明XML文
42、档符合的XML规范版本号,一般取值为“1.0”。 encoding属性是可选的,用于指明XML文档中字符的编码标准,默认值是UTF-8,如果文档使用了简体中文字符,则属性取值为“gb2312”。 standlone属性取值为“yes”时,表示XML文档是自我验证,取值为“no”时,表示使用DTD等进行验证。,2.5 JSP标准动作,XML文件体 XML的文件体是用XML标记来存储数据的地方。文件体采用树形结构来存储数据,并且有一个标记充当根元素。根元素只有一个,根元素中可以嵌套其它标记(子元素)。 例如,一个描述学生信息的XML文档如下示:,2.5 JSP标准动作,AB0987张三4147644AC88721李四5253354,2.5 JSP标准动作,2、XML文档的使用注意事项 在书写XML文档时,要注意以下事项: 标记要成对出现。也就是说,起始标记和结束标记要配对出现,例如:其中是起始标记,是结束标记。,张三,2.5 JSP标准动作,如果标记没有标记体,则称为空标记,空标记可以简写为“”形式,例如:大小写敏感。例如不同于。 要有一个唯一的根元素。 子元素间允许层次嵌套,但不允许交叉。例如,以下的和子元素出现了交叉现象:,2.5 JSP标准动作,AB0987张三4147644,2.5 JSP标准动作,应该按层次嵌套格式修改为:,AB0987张三4147644 ,
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1