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動作配合使用。