JSP指令之page指令

         Page指令算是JSP中最常用的指令了,用来生命JSP页面的属性。JSP指令的多个属性可以写在一个page指令里,也可以写在多个指令里,例如

(代码)

         但是,需要我们注意的是,无论在哪个page指令里的属性,任何page允许的属性都只能出现一次,否则会出现编译错误。但时import属性除外,它可以出现多次。

         下面我们来看看page指令的常见属性

         1、language(取值范围:java):指明解释该JSP文件时采用的语言。一般为java。默认也是java。

         2、extends(取值范围:类名):指明编译该JSP文件时继承哪个类,JSP为Servlet,因此当指明继承普通类时需要实现Servlet的init、destroy等方法

         3、import(取值范围:包名.类名):导入该JSP种用到的类、包等。Import是唯一可以声明多次的page指令属性。一个import属性可以引用多个类,中间用英文逗号隔开,如<%@ page Import=”java.util.List,java.util.ArrayList”%>,JSP中有四个包中的类是可以直接用的:java.lang.*,javax.servlet.*,javax.servlet.jsp.*,javax.servlet.http.*。

         4、session(取值范围:true,false):指明该JSP是否内置session对象。如果为true,则内置session对象,可直接使用。否则不内置session对象。默认为true。

         5、autoFlush(取值范围:true,false):是否运行缓存。如果为true,则使用out.println()等方法输出的字符串并不是立刻到达客户端服务器的,而是暂存在缓存中,缓存满了或者程序执行完毕或者执行out.flush()方法时才到达客户端。默认为true。

       6、buffer(取值范围:none或者数字+Kb):指定缓存大小。当autoFlush设为true是有效,例如:<%@page buffer=”10Kb” %>。

         7、isThreadSafe(取值范围:true,false):指定是否线程安全。如果为true,则运行多个线程同时运行该JSP程序,否则只允许一个线程运行,其余线程等待。默认为false。

         8、isErrorPage(取值范围:true,false):指定该页面是否为错误处理页面。如果为true,则该JSP内置一个Exception对象exception,可直接使用,否则没有。默认为false。

         9、errorPage(取值范围:某个JSP页面的相对路径):指明一个错误显示页面,如果该JSP程序跑出了一个未捕获的异常,则转到errorPage指定的页面。errorPage指定的页面通常isErrorPage属性为true,且内置的exception对象为未捕获的异常。

         10、contentType(取值范围:有效的文档类型):客户端浏览器根据该属性判断文档类型,例如:HTML格式为text/html,纯文本格式为text/plain,JPG图像为image/jpeg,GIF图像为image/gif,WORD文档为application/msword。

         11、info(取值范围:任意字符串):指明JSP的信息。该信息可以通过servlet.getServletInfo()方法获取到。

         12、trimDirectiveWhitespaces(取值范围:true,false):是否去掉指令前后的空白字符。默认为false。