| JSP基本指令 jsp命令指令用來設定與整個jsp頁面相關的屬性,它並不直接產生任何可見的輸出,而只是告訴引擎如何處理其餘JSP頁面。其一般文法形式為: <%@ 指令名稱 屬性=“值”%> 三種命令指令分別是page、include、taglib。 一、page指令 功能:設定整個JSP網頁的靜態屬性。 文法:<%@ page 標籤元素=“值”%>,比如 <%@ page language=“java”%> 標籤元素:language、import、contentType、session、errorPage、isErrorPage等等。 1、language language="language" 指定JSP Container要用什麼語言來編譯JSP網頁。目前只可以使用Java語言,不過不排除增加其它語言。預設值為Java。比如 <%@ page language=“java”%> 2、import import="importList" 定義此JSP頁面可以使用哪些Java API。用逗號分隔列出一個或多個全質類名。此列表用於在產生的java servlet中建立相應的匯入語句。以下包是自動包含的,不必被指出:java.lang.*;java.servlet.*;java.servlet.jsp.*;java.servlet.htt.* 比如<%@ page import="java.util.*"%> 3、contentType contentType="ctinfo" 表示將在產生servlet中使用的MIME類型和可選字元解碼。比如<%@ page contentType="text/html;charset=GBK"%> 4、session session="true|false" 指明JSP頁面是否需要一個HTTP會話,如果為true,那麼產生的servlet將包含建立一個HTTP會話(或訪問一個HTTP會話)的代碼,預設為true。 5、errorPage errorPage="error_url" 表示如果發生異常錯誤,網頁會被重新指向一個URL頁面。錯誤頁面必須在其page指令元素中指定isErrorPage="true" 6、isErrorPage isErrorPage="true|false" 如果此頁面被用作處理異常錯誤的頁面,則為true。在這種情況下,頁面可被指定為另一頁面page指令元素中errorPage屬性的取值。指定此屬性為true將使exception隱含變數對此頁面可用。預設值為false。 ×××××執行個體1,顯示當前系統設計×××× 1、在記事本中輸入如下代碼: <%@ page language="java" contentType="text/html;charset=GBK"%> <%@ page import="java.util.*"%> <% Date dnow = new Date(); int dhours = dnow.getHours(); int dminutes = dnow.getMinutes(); int dseconds = dnow.getSeconds(); out.print("伺服器時間:" + dhours + ":" + dminutes + ":" + dseconds); %> <SCRIPT LANGUAGE="JavaScript"> var dnow = new Date(); dhours = dnow.getHours(); dminutes = dnow.getMinutes(); dseconds = dnow.getSeconds(); document.write("<br>瀏覽器時間:" + dhours + ":" + dminutes + ":" + dseconds); </SCRIPT> 2、儲存為page.jsp,在tomcat安裝目錄的webapps目錄下建立02檔案夾,再在02下建立1檔案夾, 把page.jsp放在1檔案夾下。 3、在記事本中輸入如下代碼: <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web- app_2_4.xsd"> </web-app> 4、儲存為web.xml,在02檔案夾下建立WEB-INF檔案夾,把web.xml放在WEB-INF檔案夾下。 5、在瀏覽器中輸入輸入http://localhost:8989/02/1/page.jsp就可以開啟page.jsp頁面了。 6、<SCRIPT LANGUAGE="JavaScript">...</SCRIPT>這段代碼,是前台指令碼代碼,用來比較前、後台代碼的 不需要、需要引擎編譯的運行情況。其實可以刪掉<SCRIPT LANGUAGE="JavaScript">...</SCRIPT>這段代碼的。 二、include指令 功能:include指令用來向當前頁面插入一個靜態檔案的內容。這個檔案可以是JSP、HTML、文本或是Java程式。 文法:<%@ include file=“filename” %> 比如 <%@ include file=“111.txt” %> 標籤元素:file 注意:include指令元素和行為元素主要有兩個方面的不同點。 1.include指令是靜態包含,執行時間是在編譯階段執行,引入的內容為靜態文要,在編譯成servlet時就和包含者融合到一起。所以file不能是一個變數,也不能在file後接任何參數。 2.include行為是動態包含,執行時間是在要求階段執行,引入的內容在執行頁面時被請求時動態產生再包含到頁面中。 3、<%@ include file=“filename” %>如果直接以檔案名稱開頭,指的是正在使用的JSP檔案所在的路徑, 如果以/開頭,指的是正在使用的JSP檔案上下的路徑關係. ×××××執行個體2,靜態包含外部資源檔×××× 1、在111.txt輸入如下代碼: include file start here.<br> <%! String str="Here is include‘s context!";%> <% out.println(str+"<br>");%> 其實在111.txt輸入如下代碼,顯示的效果是一樣的,但是中文會出現亂碼 include file start here.<br> Here is include‘s context!<br> 2、把111.txt儲存在webapps\02\2目錄下。 3、編寫native.jsp檔案 <html> <body> native file start here.<br> <%@ include file="111.txt"%> native file end here.<br> </body> </html> 4、把native.jsp儲存在webapps\02\2目錄下。 在瀏覽器中輸入輸入http://localhost:8989/02/2/native.jsp就可以了 三、taglib指令 功能:使用標籤庫定義新的自訂標籤,在JSP頁面中啟用定製行為。 當頁面引用了使用者自訂標籤時,taglib指令用於引用自訂標籤庫,並指定標籤的首碼。 文法:<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %> 如<%@ taglib uri="http://www.jspcentral.com/tags" prefix="JAXP" %> 標籤元素:uri、Prefixpage指令元素的屬性 uri="tagLibraryURI" 標籤庫描述器的URI,主要是說是tagLibrary的存放位置。 prefix="tagPrefix" 用於標識在頁面後面部分使用定製標籤的唯一首碼。 首碼在標籤的名字前面使用,例如,在中public在loop前面。空的首碼將被忽略。如果你正在開發或使用自訂的標籤的話,你不能使用標籤首碼:jsp,jspx,java,javax,servlet,sun和sunw等,因為他們已經被Sun的系統的所使用。 JSP基本動作 JSP中的動作元素包括:include、forward、useBean、getProperty、setProperty、plugin、param。 1.include動作 <jsp:include>標籤用來包含一個靜態或者動態檔案。 2.forward動作 <jsp:forward>標籤用來重新導向一個靜態HTML檔案、JSP檔案或者是一個程式段。 3.useBean動作 <jsp:useBean>標籤用來在JSP頁面中建立一個Bean執行個體,並指定其名稱和作用範圍。 4.getProperty動作 <jsp:getProperty>標籤用來擷取Bean的屬性值(在此之前必須用<jsp:useBean>建立它),並將之轉化為一個字串,然後將其插入到輸出的頁面中。 5.setProperty動作 <jsp:setProperty>標籤表示用來設定Bean中的屬性值。 6.plugin動作 <jsp:plugin> 標籤用於在瀏覽器中播放或顯示一個對象(典型為applet和Bean),這種顯示需要在瀏覽器上安裝Java外掛程式。當JSP檔案被編譯後送往瀏覽器時,<jsp:plugin>元素將會根據瀏覽器的版本替換成<object>或者<embed>元素。 7.param動作 <jsp:param>標籤用來傳遞參數,必須與forward、include及plugin動作配合使用。 |