(1)指令元素:用於從jsp發送一個信息到容器,比如設置全局變量、文字編碼、引入包等
1、page
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
page 指令中的常用屬性:
(2)腳本元素language:定義要使用的腳本語言,目前只能是“java”, 即language="java"。
import: 和一般的Java import意義一樣,用於引入要使用的類,只是用逗號“,”隔開包或者類列表。默認省略,即不引入其他類或者包。例如,import="java.io.*,java.util.Hashtable"。
session:指定所在頁面是否參與HTTP會話。默認值爲true,session="true"。
buffer:指定到客戶輸出流的緩衝模式。如果爲none,則不緩衝;如果指定數值,那麼輸出就用不小於這個值的緩衝區進行緩衝。與autoFlash一起使用。默認不小於8KB,根據不同的服務器可設置。例如,buffer="64kb"。
autoFlash:如果爲true緩衝區滿時,到客戶端輸出被刷新;如果爲false緩衝區滿時,出現運行異常,表示緩衝區溢出。默認爲true,例如autoFlash="true"。
info:關於JSP頁面的信息,定義一個字符串,可以使用servlet.getServletInfo()獲得。 默認省略。例如,info="測試頁面"。
isErrorPage:表明當前頁是否爲其他頁的errorPage目標。如果被設置爲true,則可以使用exception對象。相反,如果被設置爲false,則不可以使用exception對象。默認爲false,例如,isErrorPage="true"。
errorPage:定義此頁面出現異常時調用的頁面。默認忽略,例如errorPage="error.jsp"。
isThreadSafe:用來設置JSP文件是否能多線程使用。如果設置爲true,那麼一個JSP能夠同時處理多個用戶的請求;相反,如果設置爲false,一個JSP只能一次處理一個請求。例如,isThreadSafe="true"。
contentType: 定義JSP字符編碼和頁面響應的MIME類型。TYPE=MIME TYPE;charset=CHARSET。默認爲TYPE=text/html,CHARSET=iso8859-1。例如contentType="text/html;charset=gb2312"。
pageEncoding:JSP頁面的字符編碼 ,默認值爲pageEncoding="iso-8859-1",例如pageEncoding="gb2312"。
isELIgnored:指定EL(表達式語言)是否被忽略。如果爲true,則容器忽略"${}"表達式的計算。默認值由web.xml描述文件的版本確定,servlet2.3以前的版本將忽略。例如isELIgnored="true"。
2、include
1.兩種用法
<%@ include file=” ”%>
<jsp:include page=” ” flush=”true”/> (動作元素)
2.用法區別
(1)執行時間上區別
<%@ include file=”relativeURI”%> 是在翻譯階段執行
<jsp:include page=”relativeURI” flush=”true” /> 在請求處理階段執行.
(2)引入內容的不同
<%@ include file=” ”%>
jsp的include指令元素讀入指定頁面的內容。並把這些內容和本來的頁面融合到一起。(這個過程是在翻譯階段:也就是jsp被轉化成servlet的階段進行的。
<jsp:include page=”relativeURI” flush=”true” />引入執行頁面或servlet所天生的應答文本.
3、tablib 自定義標籤
JSP聲明
聲明(declaration)用來在JSP頁面中聲明變量和定義方法。聲明是以<%!開頭,以%>結束的標籤,其中可以包含任意數量的合法的Java聲明語句。下面是JSP聲明的一個例子:
<%! int count = 0; %>
上面代碼聲明瞭一個名爲count的變量並將其初始化爲0。聲明的變量僅在頁面第一次載入時由容器初始化一次,初始化後在後面的請求中一直保持該值。
下面的代碼在一個標籤中聲明瞭一個變量和一個方法:
<%!
String color[] = {"red", "green", "blue"};
String getColor(int i){
return color[i];
}
%>
也可以將上面的兩個Java聲明語句寫在兩個JSP聲明標籤中,如:
<%! String color[] = {"red", "green", "blue"}; %>
<%!
String getColor(int i){
return color[i];
}
%>
JSP小腳本
小腳本(scriptles)是嵌入在JSP頁面中的Java代碼段。小腳本是以<%開頭,以%>結束的標籤。例如<% count++; %>
小腳本在每次訪問頁面時都被執行,因此count變量在每次請求時都增1.由於小腳本可以包含任何Java代碼,所以它通常用來在JSP頁面嵌入計算邏輯。同時還可以使用小腳本打印HTML模板文本。
JSP表達式
表達式(expression)是以<%=開頭,以%>結束的標籤,它作爲Java語言表達式的佔位符。如<%= count%>
包含一個符合Java語法的表達式。表達式的元素在運行後被自動轉化爲字符串,然後插入到這個表達式的JSP文件的位置顯示。因爲這個表達式的值已經轉化爲字符串,所以能在一行文本中插入這個表達式。表達式是一個簡化的了的out.println語句。
在頁面每次被訪問時都要計算表達式,然後將其值嵌入到HTML的輸出中。
與變量聲明不同,表達式不能以分號結束,因此下面的代碼是非法的:
<%= count; %>
使用表達式可以向輸出流輸出任何對象或任何基本數據類型的值,也可以打印任何算術表達式、布爾表達式或方法調用返回的值。
在JSP表達式的百分號和等號之間不能有空格。
(3)動作元素
<jsp:forword page="realurl.jsp" />
(4)jsp註釋
<%-- 這是註釋 --%>
<!-- 這是註釋 -->