程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP教程(二)

JSP教程(二)

編輯:關於JSP
JSP directive mso-hansi-font-family:"">影響servlet 類的整體結構。它常用以下形式:

  <%@ directive attribute=”value”%>

  而且,您可以將多個屬性寫在一個語句中:

  <%@ directive attribute1="value1"
  attribute2="value2"
  attributeN="valueN" %>

  有兩種主要的directive:

  page,允許您做一些類似import classes的事,定義servlet的超類(Superclass),
mso-hansi-font-family:"">等;

  include,允許您將文件插入servlet類中(當JSP文件翻譯為servlet時)。

  一、JSP page Directive
語法:

<%@ page
[ language="java" ]
[ extends="package .class" ]
[ import="{package .class | .*}, ..." ]
[ session="true|false" ]
[ buffer="none|8kb|sizekb" ]
[ autoFlush="true|false" ]
[ isThreadSafe="true|false" ]
[ info="text" ]
[ errorPage="relativeURL" ]
[ contentType="mimeType [ ;charset=characterSet ]" |
"text/html ; charset=ISO-8859-1" ]
[ isErrorPage="true|false" ]

%>

  Page directive mso-hansi-font-family:"">允許您定義一些區分大小寫的屬性:

  (1)import = “package.class”或 import = “package.class1,..,package.classN”。
mso-hansi-font-family:"">
您可以定想要import的packages。例如:

<%@ page import="java.util.*" %>

import屬性是這幾個屬性中唯一一個可以在一個JSP中出現多次的。

  (2)contenType = “MIME=Type” 或contentType=“MIME-Type;charset=Character-Set”
mso-hansi-font-family:"">
它指定輸出的MIME類型。缺省為“text/html”。例如:
<%@ page contentType="text/plain" %>"

在scriptlet中等價於:

<% response.setContentType("text/plain"); %>


  (3)isThreadSafe = “true | false”.如果值為“true”(缺省)表示:將進行普通的servlet處理,多個請求將被一個servlet實例並行處理,在這種情況下,編程人員同步訪問多個實例變量。值為“false”時表示:servlet將實現單線程模式(SingleThreadModel),不管請求是順序提交還是並發出現,都將提供不同的分離的servlet實例。



  (4)session=”true | false”。 如果值為“true”(缺省)表示:預定義變量session(繼承HttpSession)應該綁定到一個已存在的session,否則就應該創建一個並將之綁定。值為“false”時表示:將不使用session變量,如果試圖使用,將在JSP向servlet轉化時出現錯誤。

  (5)buffer = “sizekb | none”。為JspWriter輸出確定緩沖的大小。缺省由服務器而定,但至少要有8kb。

  (6)autoflush=”true | false”。 如果值為“true mso-hansi-font-family:"">”(缺省)表示:當緩沖滿時將自動清空,值為“false mso-hansi-font-family:"">”時表示:當緩沖滿時遞出一個異常,這很少使用。當buffer=”none”是若用false mso-hansi-font-family:"">值是不合法的。

  (7)extends=”package.class”。這將為servlet產生一個超類。請特別謹慎的使用這一功能,因為,服務器也許已經定義了一個。

  (8)info = “message”。定義一個可以通過調用getServletInfo方法得到的串。

  (9)errorPage = “URL”。指定一個JSP mso-hansi-font-family:"">頁面來處理任何一個可拋出的但當前頁面並未處理的意外錯誤。

  (10)isErrorPage = “true | false”。指定當前頁面是否可以處理來自另一個頁面的錯誤,缺省為“false”。

  (11)language = “java” mso-hansi-font-family:"">。指出以下將使用的語言。不過,不必為這一屬性費心,因為,“java mso-hansi-font-family:"">”既是缺省又是唯一合法的選擇。

二JSP include Directive 這種directive 使您可以在JSP轉換為servlet時將一個文件包含進來。語法:
<jsp:include page="{relativeURL | <%= expression %>}" flush="true" />mso-hansi-font-family:";mso-font-kerning: 0pt">或
<jsp:include page="{relativeURL | <%= expression %>}" flush="true" >
<jsp:param name="parameterName"
value="{parameterValue | <%=expression %>}" />+
</jsp:include>

  URL mso-hansi-font-family:"">通常相對於指向它的JSP頁面,但是,普遍使用相對“URL”,您可以使用一個斜槓“/”作為URL的開始來告知系統URL mso-hansi-font-family:"">相對的Web server的主路徑。被包含的文件將以規則的JSP形式來解析,因此,您可以在其中使用靜態HTML,scripting elements,directives,和 actions。

  讓我們來看一個例子,許多站點在每一個頁面上包含一個小型的導航條。它通常出現在頁面的頂部或左右側,並包含在每一個頁面裡。這用include directive 來實現是很自然的,若用規則的HTML mso-hansi-font-family:"">來把這些語句拷到每一個頁面無疑是個夢魇。請看下列代碼:
<HTML>
<HEAD>
<TITLE> JSP教程</TITLE>
</HEAD>
<BODY>
<%@ include file="/navbar.html" %>
<!— 本頁面的其他部分... -->
</BODY>
</HTML>
  因為文件是在頁面被轉換時插入的,因此,如果導航條改變了,您需要將所有指向它的JSP mso-hansi-font-family:"">頁面全部重新編譯一次。如果您的導航條並不常改變這樣做無疑是高效的,但是,如果您的被包含文件更改頻繁,則建議您使用jsp:include action(後面將談到)來替代,它在頁面被請求時才包含文件。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved