功能:設(shè)定整個JSP網(wǎng)頁的屬性和相關(guān)功能。
語法:<%@ page attribute1="value1" attribute2="value2" %>
page指令元素的屬性
language="language" 指定JSP Container要用什么語言來編譯JSP網(wǎng)頁,默認值為Java。
import="importList" 定義此JSP頁面可以使用哪些Java API。用逗號分隔列出一個或多個類名。此列表用于在生成的java servlet中創(chuàng)建相應(yīng)的導(dǎo)入語句。默認情況下,JSP文件中會自動導(dǎo)入如下的類:java.lang.*;java.servlet.*;java.servlet.jsp.*;java.servlet.http.*
contentType="ctinfo" 表示將在生成servlet中使用的MIME類型和可選字符解碼。設(shè)置格式為contentType="MIME類型"或contentType="MIME類型;charset=編碼"。在JSP頁面默認情況下設(shè)置的字符編碼為ISO-8859-1,即contentType="text/html;charset=ISO-8859-1".
session="true|false" 指明JSP頁面是否需要一個HTTP會話,如果為true,那么產(chǎn)生的servlet將包含創(chuàng)建一個HTTP會話(或訪問一個HTTP會話)的代碼,缺省為true。
buffer="none|size in kb" 指定輸出流緩存的大小。值為none表示沒有緩存,直接輸出至客戶端的瀏覽器中,此屬性用來設(shè)定out對象緩存處理的緩沖區(qū)的大小。
authflush="true|false": 決定輸出流的緩沖區(qū)是否要自動清除。當值為true時緩存滿時將被自動刷新,當值為false時,緩沖區(qū)滿會拋出溢出異常。缺省值為true。
isThreadSafe="true|false" 如果值為true,則此JSP頁面可同時響應(yīng)多個客戶的請求,如果為false則某個時刻只能處理一個客戶的請求。默認值為true。
info="text" 表示此JSP頁面的相關(guān)信息,可用getServletInfo()方法來獲得這個字符串。
errorPage="error_url" 表示如果發(fā)生異常錯誤,網(wǎng)頁會被重新指向一個URL頁面。錯誤頁面必須在其page指令元素中指定isErrorPage="true"
isErrorPage="true|false" 如果此頁面被用作處理異常錯誤的頁面,則為true。在這種情況下,頁面可被指定為另一頁面page指令元素中errorPage屬性的取值。指定此屬性為true將使exception隱含變量對此頁面可用。缺省值為false。
pageEncoding="ctinfo" 表示JSP頁面的編碼方式。
isELIgnored="true|false" 表示是否在此JSP網(wǎng)頁中執(zhí)行或忽略EL表達式。如果為true,JSP Container將忽略EL表達式。
page指令的屬性值是在請求期間、運行期之前得出的。
不能將page指令像模板文本一樣條件性地插入到輸出中。因而下面的嘗試不管checkUserRequest方法的結(jié)果如何,都會產(chǎn)生Excel內(nèi)容
<% boolean usingExcel=checkUserRequest(request);
If(usingExcel) {%>
<%@page contentType=”application/vnd.ms-excel”%>
<%}%>
我們可以使用scriptlet和常規(guī)的servlet方式——response.setContentType,如下面的片段所示:
<%String format=request.getParameter(“format”);
If((format!=null)&&(format.equals(“excel”))){
Response.setContentType(“application/vnd.ms-excel”);
}
%>
page指令作用于整個JSP頁面,同樣包括靜態(tài)的包含文件。但是page指令不能作用于動態(tài)的包含文件,比如 <jsp:include>
你可以在一個頁面中使用多個page指令,但是其中的屬性只能用一次,不過也有個例外,那就是import屬性。因為import屬性和Java中的import語句差不多,所以你能多次使用import屬性.
無論你把page指令放在JSP的文件的哪個地方,它的作用范圍都是整個JSP頁面。不過,為了JSP程序的可讀性,以及好的編程習(xí)慣,最好還是把它放在JSP文件的頂部.
include指令
功能:在JSP編譯時插入包含一個文件。包含的過程是靜態(tài)的,包含的文件可以是JSP、HTML、文本或是Java程序。
語法:<%@ include file="relativeURLspec" %>
include指令是對文件的靜態(tài)包含,所以如果兩個文件中均設(shè)置了page指令的contentType屬性將會出錯。
taglib指令
功能:使用標簽庫定義新的自定義標簽,在JSP頁面中啟用定制行為。
語法:<%@ taglib uri="tabLibraryURI" prefix"tagPrefix" %>
標簽元素:<jsp:directive.taglib uri="tabLibraryURI" prefix"tagPrefix" />
taglib指令元素的屬性
uri="tagLibraryURI" 標簽庫描述器的URI,主要是說是tagLibrary的存放位置。
prefix="tagPrefix" 用于標識在頁面后面部分使用定制標簽的唯一前綴。
posted on 2011-10-09 17:09
Java_liyadong 閱讀(287)
評論(0) 編輯 收藏