欢迎来到天天文库
浏览记录
ID:40232107
大小:170.50 KB
页数:87页
时间:2019-07-27
《第4章 JSP语法进阶》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4章JSP语法进阶【案例7】文件包含4.1【案例8】个人信息调查表4.2【案例9】网页的重定向4.3【案例10】简单访问计数器4.44.1【案例7】文件包含4.1.1JSP指令元素指令元素作用于JSP引擎所生成的Servlet结构,提供网页的全局信息。例如,可以通过指令元素设置JSP文件和最终输出的客户端文件字符集的类型、表明想要引入的包和类、错误处理、是否是session的一部分等。指令元素的一般形式如下:<%@directive[attr="value"]%>其中,directive是指令名称,attr是指令的属性,
2、属性可以有多个,value是属性的取值。指令元素可以不带属性,或只带部分属性,所以方括号中的属性部分是可选的。JSP中的指令有page、include和taglib,其中page指令描述与页面相关的指示信息,include指令用于包含文件,taglib指令用于指示JSP页面所使用的标记库。标记库的具体用法属于JSP比较复杂的内容,本书中就不讨论了。1.page指令page指令定义JSP文件中的全局属性,描述与页面相关的指示信息。在一个JSP页面中,page指令可以出现多次,但是除import外,每一种属性却只能出现一次,后
3、面重复出现的属性设置将覆盖掉先前的设置。几乎在所有JSP页面顶部都会看到page指令,虽然这不是必须的。page指令可以指定到何处去查找起支持作用的Java类或包。例如:<%@pageimport="java.util.Date"%>page指令也可以在出现Java运行错误时,指示将用户导向何处。例如:<%@pageerrorPage="errorPage.jsp"%>page指令的一般语法格式如下:<%@page[language="java"][extends="package.class"][import="{pac
4、kage.class
5、package.*},..."][session="true
6、false"][buffer="none
7、8kb
8、sizekb"][autoFlush="true
9、false"][isThreadSafe="true
10、false"][info="text"][errorPage="relativeURL"][contentType="mimeType[;charset=characterSet]"
11、"text/html;charset=ISO-8859-1"][isErrorPage="true
12、fal
13、se"]%>下面对page指令中可能包含的各个属性进行详细说明。(1)languagelanguage属性告诉服务器在文件中将采用哪种语言作为脚本语言,默认为Java。(2)extendsextends属性定义了由JSP页面产生的servlet的父类。一般来说,这个属性不会用到,只有需要实现一些特殊功能时,使用它会比较方便。建议初学者先不去使用它。(3)importimport属性的值是一系列用逗号分开的列表,指明想要引入的包和类。例如:<%@pageimport="java.util.*"%>可以在程序中引入多个需要的包
14、和类,包和类之间用逗号分隔。例如:<%@pageimport="java.util.*,java.io.*"%>也可以将需要引入的多个包和类写在多个page指令中。例如:<%@pageimport="java.util.*"%><%@pageimport="java.io.*"%>这两行语句与上面的一行语句等价。当使用import引入了包和类后,就可以使用与这些包和类相关的方法和对象了。注意java.lang.*、javax.servlet.*、javax.servlet.jsp.*和javax.servlet.http.
15、*包已经作为缺省值被JSP引入,所以不需要在网页中再次引入。(4)sessionsession属性表示当前页面是否加入会话期间的管理,其缺省值为true,表明内建对象session存在(如果没有session对象,则会新建一个),由session来管理会话。如果设session属性值为false,则内建对象session不存在,这样页面中任何使用到session的语句都会产生编译错误。(5)bufferbuffer决定输出流(out对象)是否需要缓冲区,缺省值是8KB,也可以设置为none(没有缓冲区)或所指定大小的缓冲区
16、,例如:<%@buffer="12kb"%>上面的语句指定输出流缓冲区为12KB。buffer属性通常与autoFlush属性一起使用。(6)autoFlushautoFlash属性用于指定是否自动刷新输出缓冲,如果设成true,则当输出缓冲区满的时候,自动刷新缓冲区而不是抛出一个异常,缺省值为true
此文档下载收益归作者所有