JSP入门初级教程之JSP指令
<JSP directive mso-hansi-font-family:"">影响servlet 类的整体结构。它常用以下形式:
而且,您可以将多个属性写在一个语句中:
有两种主要的directive:
page,允许您做一些类似import classes的事,定义servlet的超类(Superclass),
mso-hansi-font-family:"">等;
include,允许您将文件插入servlet类中(当JSP文件翻译为servlet时)。
一、JSP page Directive
语法:
Page directive mso-hansi-font-family:"">允许您定义一些区分大小写的属性:
(1)import = package.class或 import = package.class1,..,package.classN。
mso-hansi-font-family:"">
您可以定想要import的packages。例如:
import属性是这几个属性中唯一一个可以在一个JSP中出现多次的。
(2)contenType = MIME=Type 或contentType=MIME-Type;charset=Character-Setmso-hansi-font-family:"">
它指定输出的MIME类型。缺省为text/html。例如:
在scriptlet中等价于:
(3)isThreadSafe = true | false.如果值为true(缺省)表示:将进行普通的servlet处理,多个请求将被一个servlet实例并行处理,在这种情况下,编程人员同步访问多个实例变量。值为false时表示:servlet将实现单线程模式(SingleThreadModel),不管请求是顺序提交还是并发出现,都将提供不同的分离的servlet实例。
(4)session=true | false。 如果值为true(缺省)表示:预定义变量session(继承HttpSession)应该绑定到一个已存在的session,否则就应该创建一个并将之绑定。值为false时表示:将不使用session变量,如果试图使用,将在JSP向servlet转化时出现错误。
(5)buffer = sizekb | none。为JspWriter输出确定缓冲的大小。缺省由服务器而定,但至少要有8kb。
(6)autoflush=true | false。 如果值为true mso-hansi-font-family:"">(缺省)表示:当缓冲满时将自动清空,值为false mso-hansi-font-family:"">时表示:当缓冲满时递出一个异常,这很少使用。当buffer=none是若用false mso-hansi-font-family:"">值是不合法的。
(7)extends=package.class。这将为servlet产生一个超类。请特别谨慎的使用这一功能,因为,服务器也许已经定义了一个。
(8)info = message。定义一个可以通过调用getServletInfo方法得到的串。
(9)errorPage = URL。指定一个JSP mso-hansi-font-family:"">页面来处理任何一个可抛出的但当前页面并未处理的意外错误。
(10)isErrorPage = true | false。指定当前页面是否可以处理来自另一个页面的错误,缺省为false。
(11)language = java mso-hansi-font-family:"">。指出以下将使用的语言。不过,不必为这一属性费心,因为,java mso-hansi-font-family:"">既是缺省又是唯一合法的选择。
二JSP include Directive 这种directive 使您可以在JSP转换为servlet时将一个文件包含进来。语法:
URL mso-hansi-font-family:"">通常相对于指向它的JSP页面,但是,普遍使用相对URL,您可以使用一个斜杠/作为URL的开始来告知系统URL mso-hansi-font-family:"">相对的Web server的主路径。被包含的文件将以规则的JSP形式来解析,因此,您可以在其中使用静态HTML,scripting elements,directives,和 actions。
让我们来看一个例子,许多站点在每一个页面上包含一个小型的导航条。它通常出现在页面的顶部或左右侧,并包含在每一个页面里。这用include directive 来实现是很自然的,若用规则的HTML mso-hansi-font-family:"">来把这些语句拷到每一个页面无疑是个梦魇。请看下列代码:
因为文件是在页面被转换时插入的,因此,如果导航条改变了,您需要将所有指向它的JSP mso-hansi-font-family:"">页面全部重新编译一次。如果您的导航条并不常改变这样做无疑是高效的,但是,如果您的被包含文件更改频繁,则建议您使用jsp:include action(后面将谈到)来替代,它在页面被请求时才包含文件。
<JSP directive mso-hansi-font-family:"">影响servlet 类的整体结构。它常用以下形式:
<%@ directive attribute=value%> |
而且,您可以将多个属性写在一个语句中:
<%@ directive attribute1="value1" attribute2="value2" attributeN="valueN" %> |
有两种主要的directive:
page,允许您做一些类似import classes的事,定义servlet的超类(Superclass),
mso-hansi-font-family:"">等;
include,允许您将文件插入servlet类中(当JSP文件翻译为servlet时)。
一、JSP page Directive
语法:
<%@ page [ language="java" ] [ extends="package .class" ] [ import="{package .class | .*}, ..." ] [ session="true|false" ] [ buffer="none|8kb|sizekb" ] [ autoFlush="true|false" ] [ isThreadSafe="true|false" ] [ info="text" ] [ errorPage="relativeURL" ] [ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ] [ isErrorPage="true|false" ] %> |
Page directive mso-hansi-font-family:"">允许您定义一些区分大小写的属性:
(1)import = package.class或 import = package.class1,..,package.classN。
mso-hansi-font-family:"">
您可以定想要import的packages。例如:
<%@ page import="java.util.*" %> |
import属性是这几个属性中唯一一个可以在一个JSP中出现多次的。
(2)contenType = MIME=Type 或contentType=MIME-Type;charset=Character-Setmso-hansi-font-family:"">
它指定输出的MIME类型。缺省为text/html。例如:
<%@ page contentType="text/plain" %>" |
在scriptlet中等价于:
<% response.setContentType("text/plain"); %> |
(3)isThreadSafe = true | false.如果值为true(缺省)表示:将进行普通的servlet处理,多个请求将被一个servlet实例并行处理,在这种情况下,编程人员同步访问多个实例变量。值为false时表示:servlet将实现单线程模式(SingleThreadModel),不管请求是顺序提交还是并发出现,都将提供不同的分离的servlet实例。
(4)session=true | false。 如果值为true(缺省)表示:预定义变量session(继承HttpSession)应该绑定到一个已存在的session,否则就应该创建一个并将之绑定。值为false时表示:将不使用session变量,如果试图使用,将在JSP向servlet转化时出现错误。
(5)buffer = sizekb | none。为JspWriter输出确定缓冲的大小。缺省由服务器而定,但至少要有8kb。
(6)autoflush=true | false。 如果值为true mso-hansi-font-family:"">(缺省)表示:当缓冲满时将自动清空,值为false mso-hansi-font-family:"">时表示:当缓冲满时递出一个异常,这很少使用。当buffer=none是若用false mso-hansi-font-family:"">值是不合法的。
(7)extends=package.class。这将为servlet产生一个超类。请特别谨慎的使用这一功能,因为,服务器也许已经定义了一个。
(8)info = message。定义一个可以通过调用getServletInfo方法得到的串。
(9)errorPage = URL。指定一个JSP mso-hansi-font-family:"">页面来处理任何一个可抛出的但当前页面并未处理的意外错误。
(10)isErrorPage = true | false。指定当前页面是否可以处理来自另一个页面的错误,缺省为false。
(11)language = java mso-hansi-font-family:"">。指出以下将使用的语言。不过,不必为这一属性费心,因为,java mso-hansi-font-family:"">既是缺省又是唯一合法的选择。
二JSP include Directive 这种directive 使您可以在JSP转换为servlet时将一个文件包含进来。语法:
<jsp:include page="{relativeURL | <%= expression %>}" flush="true" />mso-hansi-font-family:";mso-font-kerning: 0pt">或 <jsp:include page="{relativeURL | <%= expression %>}" flush="true" > <jsp:param name="parameterName" value="{parameterValue | <%=expression %>}" />+ </jsp:include> |
URL mso-hansi-font-family:"">通常相对于指向它的JSP页面,但是,普遍使用相对URL,您可以使用一个斜杠/作为URL的开始来告知系统URL mso-hansi-font-family:"">相对的Web server的主路径。被包含的文件将以规则的JSP形式来解析,因此,您可以在其中使用静态HTML,scripting elements,directives,和 actions。
让我们来看一个例子,许多站点在每一个页面上包含一个小型的导航条。它通常出现在页面的顶部或左右侧,并包含在每一个页面里。这用include directive 来实现是很自然的,若用规则的HTML mso-hansi-font-family:"">来把这些语句拷到每一个页面无疑是个梦魇。请看下列代码:
<HTML> <HEAD> <TITLE> JSP教程</TITLE> </HEAD> <BODY> <%@ include file="/navbar.html" %> <!— 本页面的其他部分... --> </BODY> </HTML> |
因为文件是在页面被转换时插入的,因此,如果导航条改变了,您需要将所有指向它的JSP mso-hansi-font-family:"">页面全部重新编译一次。如果您的导航条并不常改变这样做无疑是高效的,但是,如果您的被包含文件更改频繁,则建议您使用jsp:include action(后面将谈到)来替代,它在页面被请求时才包含文件。