<%@page
[language="java"]
[contentType="mimeType;charset=CHARSET"]
[import="{package.class|pageage.*},……"]
[extends="package.class"]
[session="true|false"]
[buffer="none|8kb|size kb]
[autoFlush="true|false"]
[isThreadSafe="true|false"]
[info="text"]
[errorPage="relativeURL"]
[isErrorPage="true|false"]
[isELIgnored="true|false"]
[pageEncoding="CHARSET"]
%>
屬性 | 說明 |
---|---|
autoFlush | 該屬性預設值為 true,表示當緩衝區已滿時,自動將其中的內容輸出到用戶端。如果設為 false,則當緩衝區中的內容超出其設定的大小時,會產生 "JSP Buffer overflow" 溢位異常。 |
buffer | 該屬性設定 out 物件(JspWriter 型別)使用的緩衝區的大小。若設定為 none,表示不使用快取,而直接通過 PrintWriter 物件進行輸出;如果將該屬性指定為數值,則輸出緩衝區的大小不應小於該值。預設值為 8KB(因伺服器的不同而不同,但大多數情況下都為 8KB)。 |
contentType | 該屬性設定頁面響應的 MIME 型別,通常被設定為 text/html。 |
errorPage | 該屬性用來指定一個當前頁面出現異常時所要呼叫的頁面。如果屬性值是以“/”開頭的路徑,則將在當前應用程式的根目錄下查詢檔案;否則,將在當前頁面的目錄下查詢檔案。 |
extends | 該屬性用於指定一個 JSP 頁面轉換為 Servlet 後繼承的類。在 JSP 中通常不會設定該屬性,JSP 容器會提供轉換後的 Servlet 繼承的父類別。並且如果設定了該屬性,一些改動會影響 JSP 的編譯能力。 |
import | 該屬性類似於 Java中 的 import 語句,用來向 JSP 檔案中匯入需要用到的包。 |
info | 該屬性可設定為任意字串,如當前頁面的作者或其他有關的頁面資訊。可通過 Servlet.getServletInfo() 方法來獲取設定的字串。 |
isErrorPage | 若將該屬性值設為 true,此時在當前頁面中可以使用 exception 異常物件。若在其他頁面中通過 errorPage 屬性指定了該頁面,則當呼叫頁面出現異常時,則會跳轉到該頁面,並且在該頁面中可通過 exception 物件輸出錯誤資訊。相反,如果將該屬性設定為 false,則在當前頁面中不能使用 exception 物件。該屬性預設值為 false。 |
isELIgnored | 通過該屬性的設定,可以使 JSP 容器忽略表示式語言“${}”。其值只能為 true 或 false。設為 true,則忽略表示式語言。 |
isThreadSafe | 該屬性預設值為 true,表示當前 JSP 頁面被轉換為 Servlet 後,會以多執行緒的方式來處理來自多個使用者的請求;如果設為 false,則轉換後的 Servlet 會實現 SigleThreadModel 介面,該 Servlet 將以單執行緒的方式來處理使用者請求,即其他請求必須等待直到前一個請求被處理結束。 |
language | 該屬性用來設定當前頁面中編寫 JSP 指令碼使用的語言,預設值為 "java"。 |
pageEncoding | 該屬性用來設定 JSP 頁面字元的編碼。預設值為 "ISO-8859-1"。 |
session | Session 屬性的值用於設定是否需要使用伺服器內建的 session 物件,該屬性預設值為 true,表示當前頁面支援 session;設為false表示不支援 session。 |
<%@page autoFlush="true"%>
注意:若 buffer 屬性設為 none,則 autoFlush 不能設為 false。
<%@page buffer="8kb"%>
<%@page contentType="text/html"%>
<%@page contentType="text/html;charset=gb2312"%>
<%@page errorPage="error.jsp"%>
<%@page extends="java.util.Date"%>
<%@page import="java.util.*"%> <%@page import="java.text.*"%>或者通過逗號間隔來匯入多個包,關鍵程式碼如下:
<%@page import="java.util.*,java.text.*"%>在 JSP 中已經預設匯入了以下包:
java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.*所以,即使沒有通過 import 屬性設定,在 JSP 頁面中也可以呼叫上述包中的類。
<%@page info="This is index.jsp!"%> <%=this.getServletInfo()%>存取頁面後的結果是: 顯示頁面資訊: This is index.jsp
<%@page contentType="text/html;charset=gb2312"errorPage="error.jsp"%> <% String name="lzw"; Integer.parseInt(name); //將字串轉化為整型 %>上述程式碼將一個非數位格式的字串轉化為整型,因此將發生異常,最終進入 errorPage 屬性指定的 error.jsp 頁面顯示錯誤資訊。
<%@page contentType="text/html;charset=gb2312"isErrorPage="true"%>出現錯誤!錯誤如下:
<%=exception.getMessage()%>存取 index.jsp 頁面後,結果如下:
<%@page isELIgnored="false"%>
<%@page isThreadSafe="true"%>
<%@page language="java"%>
<%@page pageEncoding="ISO-8859-1"%>
<%@page session="true"%>
<%@page language="java"import="java.util.*"pageEncoding="gb2312"%> <%@page contentType="image/jpeg"%> <%@page import="java.awt.*"%> <%@page import="java.io.*"%> <%@page import="java.awt.image.*"%> <%@page import="java.awt.geom.*"%> <%@page import="com.sun.image.codec.jpeg.*"%> <%int width=200,height=200; //描述具有可存取影象資料緩衝區的Image BufferedImage image=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics g=image.getGraphics(); g.setColor(Color.white); g.fillRect(0,0,width,height); Graphics2D g_2d=(Graphics2D)g; //以double精度定義橢圓 Ellipse2D ellipse=new Ellipse2D.Double(40,80,100,40); g_2d.setColor(Color.blue); //執行從2D坐標到其他2D坐標的線性對映 AffineTransform trans=new AffineTransform(); for(int i=1;i<=12;i++){ trans.rotate(30.0*Math.PI/180,90,100); g_2d.setTransform(trans); g_2d.draw(ellipse); } g.dispose(); //獲取指向用戶端的輸出流 OutputStream outClient=response.getOutputStream(); JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(outClient); encoder.encode(image); %>