JSP學習之jsp指令

page:例:<%@ page contentType="text/html;charser="UTF-8"%>,如果一個指令有多個屬性,可以分開寫也可以寫在一個指令中


page指令
 在JSP文件中,可以通過<%@ page %>命令定義整個JSP頁面的屬性,通過這個命令定義的屬性會對該JSP文件和包含進來的JSP頁面起作用。此命令的語法比較複雜一些,下面就是語法定義:
 
<%@ page 


[ language="java" ]   --語言


[ extends="package.class" ]  --擴展、延伸


[ import="{package.class | package.*}, ..." ]   導入多個包時可用","分割


[ session="true | false" ]    //在翻譯成Servlet時是否創建session,爲true則可以在jsp中直接使用


[ buffer="none | 8kb | sizekb" ]   //是否使用緩存,使用緩存時,當寫入的數據先寫入到緩存,然後再一次性寫給瀏覽器,默認緩存爲8kb


[ autoFlush="true | false" ]   //緩存滿後是否自動刷新


[ isThreadSafe="true | false" ]   //設置爲false時,翻譯成servlet時會實現SingleThreadModel接口,即線程是安全的,當一個servlet沒有完成上一個用戶請求時會創建一個新的servlet
info="text"


[ info="text" ] 


[ errorPage="relativeURL" ]   //屬性的設置值必須使用相對路徑,如果以"/"開頭表示當前web應用程序的根目錄,也可以在web.xml中使用全局配置



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


[ isErrorPage="true | false" ] 
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>


%> 


下面是使用Page命令的幾個小例子:
 
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" buffer="5kb" autoFlush="false" errorPage=" error.jsp " %>
 
通過Page命令,你可以爲整個JSP頁面定義上面提到的全局屬性,其中除了“import”之外,其他的都只能引用一次,import屬性和Java語言中的import非常相似,可以在JSP頁面中多次使用它。
 
關於<%@ page %>的位置可以不去考慮,放在任何地方都可以很好的工作,但出於良好的編程習慣,建議放在JSP頁面的頂部。幾乎所有的JSP頁面頂部都可以找到指令page。
 
1.language屬性
 
定義JSP頁面使用的腳本語言,若使用JSP引擎支持Java以外的語言,可指定所使用的語言種類。默認語言爲Java
 
language=”java”
 
指明JSP文件中使用的腳本語言,目前只能使用Java。
 
2.contentType屬性
 
contentType屬性定義了JSP頁面字符編碼和頁面響應的MIME類型。默認的MIME類型是text/html,默認的字符集是ISO-8859-1。例如:
 
<%@ page  contentType="text/html; charset=gb2312"  language="java"  import="java.sql.*" %>
 
3.import屬性
 
該屬性用於JSP引入Java包中的類,如果你要包含多個包的話,將這些包的名稱用逗號隔開放在一個import中,或者使用多個import分別聲明。它是唯一可以多次指定的屬性。
 
在使用Java包中的元素之前一定要先聲明該包的import引用。下面一些Java包,是默認包含的,不用再在JSP頁面中聲明。
 
java.lang.*
 
javax.servlet.*
 
javax.servlet.jsp.*
 
javax.servlet.http.*
 
4.extends屬性
 
定義此JSP頁面產生的Servlet是繼承自哪個父類。請特別謹慎使用這一功能,因爲,服務器也許已經定義了一個。JSP規範對不完全理解其隱意的情況下使用此屬性提出警告。 


5.isErrorPage屬性
 
isErrorPage="true|false"
 
默認值爲“true”,設置是否顯示錯誤信息。如果爲true,可以看到出錯信息,如果爲false,就看不到了。
 
6.errorPage屬性
 
errorPage="relativeURL"
 
設置處理異常事件的JSP文件的位置。表示如果發生異常錯誤,網頁會被重新指向一個URL頁面。錯誤頁面必須在其page指令元素中指定isErrorPage="true"。
 
7.session屬性
 
session="true|false"
 
默認值爲“true”,定義是否在JSP頁面使用HTTP的session。如果值爲true,則可以使用session對象;如果值爲false,那麼JSP頁面就不被加入到session中,session內置對象則不能使用,而同時會造成Bean的scope屬性值只能是“page”。
 
8.Buffer屬性
 
buffer="none|8kb|sizekb"
 
爲內置對象out指定發送信息到客戶端瀏覽器的信息緩存大小。以kb爲單位。默認值是8kb.你也可以自行指定緩存的大小。也可以設置爲“none”,那麼就沒有緩衝區,所有的輸出都不經緩存而直接輸出。
 
9.autoFlush屬性
 
autoFlush="true|false"
 
指定是否當緩存填滿時自動刷新,輸出緩存中的內容。如果爲true,則自動刷新。否則,當緩存填滿後,可能會出現嚴重的錯誤。當你把buffer設置爲none時,就不能將autoFlush設置爲false。
 
10.isThreadSafe屬性
 
isThreadSafe="true|false"
 
指定JSP頁面是否支持多線程訪問。默認值是ture,表示可以同時處理多個客戶請求,但是你應該在JSP頁面中添加處理多線程的同步控制代碼。如果設置爲false,JSP頁面在一個時刻就只能響應一個請求。
 
11.info屬性
 
info="text"
 
指定任何一段字符串,該字符串被直接加入到翻譯好的頁面中。可以通過Servlet.getServletInfo()方法得到。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章