JSP指令、動做和對象

 

JSP基本指令html

jsp命令指令用來設置與整個jsp頁面相關的屬性,它並不直接產生任何可見的輸出,而只是告訴引擎如何處理其他JSP頁面。其通常語法形式爲: <%@ 指令名稱 屬性=「值」%>java

三種命令指令分別是page、include、taglib。web

1、page指令瀏覽器

功能:設定整個JSP網頁的靜態屬性。tomcat

語法:<%@ page 標籤元素=「值」%>,好比 <%@ page language=「java」%>服務器

標籤元素:language、import、contentType、session、errorPage、isErrorPage等等。session

一、languageapp

language="language" 指定JSP Container要用什麼語言來編譯JSP網頁。目前只可使用Java語言,不過不排除增長其它語言。默認值爲Java。好比 <%@ page language=「java」%>webapp

二、importjsp

import="importList" 定義此JSP頁面可使用哪些Java API。用逗號分隔列出一個或多個全質類名。此列表用於在生成的java servlet中建立相應的導入語句。如下包是自動包含的,沒必要被指出:java.lang.*;java.servlet.*;java.servlet.jsp.*;java.servlet.htt.* 好比<%@ page import="java.util.*"%>

三、contentType

contentType="ctinfo" 表示將在生成servlet中使用的MIME類型和可選字符解碼。好比<%@ page contentType="text/html;charset=GBK"%>

四、session

session="true|false" 指明JSP頁面是否須要一個HTTP會話,若是爲true,那麼產生的servlet將包含建立一個HTTP會話(或訪問一個HTTP會話)的代碼,缺省爲true。

五、errorPage

errorPage="error_url" 表示若是發生異常錯誤,網頁會被從新指向一個URL頁面。錯誤頁面必須在其page指令元素中指定isErrorPage="true"

六、isErrorPage

isErrorPage="true|false" 若是此頁面被用做處理異常錯誤的頁面,則爲true。在這種狀況下,頁面可被指定爲另外一頁面page指令元素中errorPage屬性的取值。指定此屬性爲true將使exception隱含變量對此頁面可用。缺省值爲false。  

×××××實例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>

二、保存爲page.jsp,在tomcat安裝目錄的webapps目錄下新建02文件夾,再在02下新建1文件夾,

把page.jsp放在1文件夾下。

三、在記事本中輸入以下代碼:

<?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>

四、保存爲web.xml,在02文件夾下新建WEB-INF文件夾,把web.xml放在WEB-INF文件夾下。

五、在瀏覽器中輸入輸入http://localhost:8989/02/1/page.jsp就能夠打開page.jsp頁面了。

六、<SCRIPT LANGUAGE="JavaScript">...</SCRIPT>這段代碼,是前臺腳本代碼,用來比較前、後臺代碼的

不須要、須要引擎編譯的運行狀況。其實能夠刪掉<SCRIPT LANGUAGE="JavaScript">...</SCRIPT>這段代碼的。

 

2、include指令

功能:include指令用來向當前頁面插入一個靜態文件的內容。這個文件能夠是JSP、HTML、文本或是Java程序。

語法:<%@ include file=「filename」 %> 好比 <%@ include file=「111.txt」 %>

標籤元素:file

注意:include指令元素和行爲元素主要有兩個方面的不一樣點。

1.include指令是靜態包含,執行時間是在編譯階段執行,引入的內容爲靜態文要,在編譯成servlet時就和包含者融合到一塊兒。因此file不能是一個變量,也不能在file後接任何參數。

2.include行爲是動態包含,執行時間是在請求階段執行,引入的內容在執行頁面時被請求時動態生成再包含到頁面中。

三、<%@ include file=「filename」 %>若是直接以文件名開頭,指的是正在使用的JSP文件所在的路徑,

若是以/開頭,指的是正在使用的JSP文件上下的路徑關係.

×××××實例2,靜態包含外部資源文件××××

一、在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>

二、把111.txt保存在webapps\02\2目錄下。

三、編寫native.jsp文件

<html>

<body>

native file start here.<br>

<%@ include file="111.txt"%>

native file end here.<br>

</body>

</html>

四、把native.jsp保存在webapps\02\2目錄下。

在瀏覽器中輸入輸入http://localhost:8989/02/2/native.jsp就能夠了

 

3、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動做配合使用。

 

JSP內置對象

1.application:javax.servlet.ServletContext 的實例,表明JSp所屬的web應用自己,可用於頁面之間交換信息 ;

2.config:javax.servlet.ServletConfig 的實例,表明JSP的配置信息,經常使用的方法有 getInitParameter(String paramName)  getInitParameternames() ;

3.exception:java.lang.Throwable 的實例,表明其餘頁面中的異常和錯誤,只用當頁面時錯誤處理頁面,即page的 isErrorPage=true 時,該對象纔可使用,方法getMessage(),printStackTrace() ;

4.out:javax.servlet.jsp.JspWriter 的實例,該實例表明jsp的頁面輸出流,用於輸出內容 ;

5.page:表明頁面自己,也就是servlet中的this,通常不用 ;

6.pageContext:javax.servlet.jsp.PageContext的實例,該對象表明該jsp的上下文,使用該對象能夠訪問頁面中的共享數據,經常使用方法:getServletContext() getServletConfig() ;

7.request:javax.servlet.http.HttpServletRequest 的實例,封裝了一次請求 ;

8.response:javax.servlet.http.HttpServletResponse的實例,封裝了一次響應 ;

9.session:javax.servlet.http.HttpSession 的實例,表明一次會話 ;

相關文章
相關標籤/搜索