JSP语法(2)

2008-02-23 07:42:27来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

Page 指令

定义JSP文件中的全局属性.

JSP 语法

<%@ page

     [ language="java" ]

     [ extends="package.class" ]

     [ import="{package.class | package.*}, ..." ]

     [ 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 import="java.util.*, java.lang.*" %>

<%@ page buffer="5kb" autoFlush="false" %>

<%@ page errorPage="error.jsp" %>

描述

<%@ page %>指令作用于整个JSP页面,同样包括静态的包含文件。但是<% @ page %>指令不能作用于动态的包含文件,比如 <jsp:include> 

你可以在一个页面中用上多个<% @ page %>指令,但是其中的属性只能用一次,不过也有个例外,那就是import属性。因为import属性和Java中的import语句差不多(参照Java Language),所以你就能多用此属性几次了.

无论你把<% @ page %>指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性,以及好的编程习惯,最好还是把它放在JSP文件的顶部.

属性

language="java"

声明脚本语言的种类,暂时只能用"java"

extends="package.class"

标明JSP编译时需要加入的Java Class的全名,但是得慎重的使用它,它会限制JSP的编译能力.

import="{package.class | package.* }, ..."

需要导入的Java包的列表,这些包就作用于程序段,表达式,以及声明。

下面的包在JSP编译时已经导入了,所以你就不需要再指明了:


java.lang.*

javax.servlet.*

javax.servlet.jsp.*

javax.servlet.http.*

session="true | false"

设定客户是否需要HTTP Session.(学过ASP的人,应该对它不陌生)如果它为true,那么Session是有用的。

如果它有false,那么你就不能使用session对象,以及定义了scope=session的<jsp:useBean>元素。这样的使用会导致错误.

缺省值是true.

buffer="none | 8kb | sizekb"

buffer的大小被out对象用于处理执行后的JSP对客户浏览器的输出。缺省值是8kb

autoFlush="true | false"

设置如果buffer溢出,是否需要强制输出,如果其值被定义为true(缺省值),输出正常,如果它被设置为false,如果这个buffer溢出,就会导致一个意外错误的发生.如果你把buffer设置为none,那么你就不能把autoFlush设置为false.

isThreadSafe="true | false"

设置Jsp文件是否能多线程使用。缺省值是true,也就是说,JSP能够同时处理多个用户的请求,如果设置为false,一个jsp只能一次处理一个请求

info="text"

一个文本在执行JSP将会被逐字加入JSP中,你能够使用Servlet.getServletInfo方法取回。

errorPage="relativeURL"

设置处理异常事件的JSP文件。

isErrorPage="true | false"

设置此页是否为出错页,如果被设置为true,你就能使用exception对象.

contentType="mimeType [ ;charset=characterSet ]" | "text/html;charset=ISO-8859-1"

设置MIME类型 。缺省MIME 类型是: text/html, 缺省字符集为 ISO-8859-1.

Taglib 指令

定义一个标签库以及其自定义标签的前缀.

JSP 语法

<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %>

例子

<%@ taglib uri="http://www.jspcentral.com/tags" prefix="public" %>

<public:loop>

. .

</public:loop>

描述

<% @ taglib %>指令声明此JSP文件使用了自定义的标签,同时引用标签库,也指定了他们的标签的前缀。

这里自定义的标签含有标签和元素之分。因为JSP文件能够转化为XML,所以了解标签和元素之间的联系很重要。标签只不过是一个在意义上被抬高了点的标记,是JSP元素的一部分。JSP元素是JSP语法的一部分,和XML一样有开始标记和结束标记。元素也可以包含其它的文本,标记,元素。比如,一个jsp:plugin元素有<jsp:plugin>开始标记和</jsp:plugin>结束标记,同样也可以有<jsp:params>和<jsp:fallback>元素.

你必须在使用自定义标签之前使用<% @ taglib %>指令,而且你可以在一个页面中多次使用,但是前缀只能使用一次

属性

uri="URIToTagLibrary"

Uniform Resource Identifier (URI)根据标签的前缀对自定义的标签进行唯一的命名,URI可以是以下的内容:

Uniform Resource Locator (URL), 由 RFC 2396 定义, 查看 http://www.hut.fi/u/jkorpela/rfc/2396/full.html

  Uniform Resource Name (URN), 由 RFC 2396定义

一个相对或绝对的路径

prefix="tagPrefix"

在自定义标签之前的前缀,比如,在<public:loop>中的public,如果这里不写public,那么这就是不合法的。请不要用jsp, jspx, java, javax, servlet, sun, 和sunw做为你的前缀

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:JSP语法(1)

下一篇:JSP语法(3)