JavaWeb學習(三)—走進JSP頁面元素
JSP:Java Server Pages,譯為Java服務器頁面。其腳本采用Java語言,繼承了Java所有優點。JSP元素可以分為指令元素、腳本元素和動作元素三種類型。指令元素是針對JSP引擎設計的,它控制JSP引擎如何處理代碼;腳本元素是嵌入到JSP頁面的Java代碼;而動作元素則負責連接所用到的組件。下面,我簡單總結一下常用的指令元素和屬性。
一:JSP指令元素
JSP指令元素主要用來和JSP引擎溝通,提供整個JSP網頁相關的信息,並且用來設定JSP頁面的相關屬性。簡單的說JSP主要是用來實現一些預定義的功能,好比C++中宏定義define一樣。指令元素的相關形式如下:
JSP指令元素中主要包含了以下三種類型:Page、include和taglib指令。
1.1 page指令
page指令用於定義JSP中的全局屬性,描述了和頁面相關的指示。在一個JSP頁面中page指令可以出現多次但是每個屬性只可以出現一次,重復的屬性設置將覆蓋之前的設置。page有13個屬性:
language="java" :表示腳本的語法符合java語法規范
extends="className":指定編譯JSP頁面時所用的類
import="所需要的類":導入所需要的類,與java相同,如果需要導入多個類,可以用,將各個類分開;
session="true|false":指定是否使用HTTP Session。默認為true,即表示使用;
buffer="none|8kb|sizekb":指定用戶JSP頁面對於瀏覽器的輸出,默認值為none,不使用緩沖區;
autoFlush="true|false":用於buffer溢出時,如果為true,輸出正常,如果為false,溢出時會報錯的;
isThreadSafe="true|false":設置JSP頁面是否能多線程使用,默認值為true;
info="text":文本在執行時逐字加入JSP中,使用Servlet.getServletInof方法取出;
errorPage="相對路徑":設置異常事件的處理JSP文件;
isErrorPage="true|false":設置此頁面是否為錯誤處理頁面,默認值為false;
contentType=''text/html''; charset="utf-8":mimeType:指定返回瀏覽器的內容類型,有以下屬性值:
text/plain(純文本頁面),text/html(純文本的HTML),text/xml(xml界面),application/x-msexcel(Excel文件)和application/x-msword(Word文件);
charset是設置頁面的編碼格式:常用的有utf-8,gb2312,gbk等等
pageEncoding=''utf-8'' :指定JSP的頁面的字符編碼
isELIgnored=''true|false'':表示是否在JSP網頁中執行或忽略EL表達式
二:JSP腳本元素
腳本元素包含了表達式、腳本和聲明三大要素。
2.1聲明:JSP聲明用於定義一個或多個變量或方法以及類,聲明不會有任何輸出,它一般和腳本結合起來使用。
2.2表達式:JSP表達式用來把Java的數據直接輸出在網頁上。所有表達式,無論復雜還是簡單,都會被計算成一個單獨的結果或值,JSP頁面依賴JSPWriter對象輸出JSP表達式,該對象可以接受任何Java表達式結果,並將其轉換成String類型,然后輸出到響應緩沖區。
2.3腳本:如果需要使用Java實現更加復雜的操作和控制,那么聲明就不能滿足要求了,此時我們運用到腳本來實現。
三:JSP動作元素
JSP動作利用XML語法格式的標記來控制Servlet引擎的行為。利用JSP動作可以動態的插入文件、重用JavaBean組件、把用戶重定向到另外的頁面、為Java插件生成HTML代碼。JSP基本動作包括以下幾種:
jsp:include 在頁面被請求時引入一個文件
Jsp:useBean 尋找或者實例化一個JavaBean
Jsp:setProperty 設置JavaBean的屬性
Jsp:getProperty 輸出某個JavaBean的屬性
Jsp:forward 把請求轉到一個新的頁面
Jsp:plugin 根據瀏覽器類型為java插件生成OBJECT或EMBED標記。
JSP中動作元素include和forward的區別:include指令用於在JSP頁面中包含另一個文件的內容,包含過程是靜態的;forward是導向,也就是跳轉,執行forward之后就會跳轉到另一個文件。
四:JSP注釋
JSP注釋一般分為兩種:一種是JSP本身的用於描述JSP程序代碼,它會被JSP容器忽略,而不會出現在網頁源代碼中,這種注釋被稱為JSP注釋;另一種是HTML,用於描述JSP頁面執行后的結果,這種注視會被客戶端用戶看到。
HTML注釋的語法形式如下:
JSP注釋的語法形式如下:
由於在JSP頁面中腳本代碼使用Java語言,所以也可以用Java的注釋機制,即 // 或者 /* */ 。