JSP语法(3)

类别:网站制作 点击:0 评论:0 推荐:
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做为你的前缀

本文地址:http://com.8s8s.com/it/it31179.htm