jsp參考(三) 指令元素[directive]

來源:互聯網
上載者:User
 jsp參考(三) 指令元素[directive] <%@ attribute %>說明 
這個指令只能用於標籤檔案中。它聲明了標籤檔案所支援的屬性。 
 
文法 
<%@ attribute name="attrName" [description="description"]
    [required="true|false"] [fragment="true|false" | [type="attrDataType"]
    [rtexprvalue="true|false"]] %>

 
屬性 
名稱 預設值 描述 
description 無 對屬性的描述,可以通過網頁設計工具提供給網頁設計人員 
fragment false true時表示屬性為一個jsp程式碼片段,false時轉換為type屬性所指定的類型 
name 無 屬性名稱 
required false 如果該屬性是必須的,則為true 
rtexdprvalue true 如果屬性必須作為一個靜態文本值提供,為false。如果值為true,表示屬性值可以由EL或java運算式提供 
type String 屬性資料類型,不支援基本類型 
 
 
備忘 
使用fragment屬性時,就不能再使用rtexprvalue和type屬性。對於一個片段,總能接受運行時運算式值,而且類型固定為javax.servlet.jsp.tagext.JspFragment。 
 
樣本 
<%@ attribute name="date" type="java.util.Date" %>
<%@ attribute name="pattern" fragment="true" %>

<%@ include %>說明 
包含一個靜態檔案,將其內容與所包含的頁面合并,其後再將結合的結果轉換為一個頁面實作類別。 
 
文法 
<%@ indlude file="pageOrContextRelativePath" %>

 
屬性 
名稱 預設值 描述 
file 無 所包含檔案的頁面相對URI路徑或上下文相對路徑 
 
 
備忘 
一個頁面可以有多個Include指令。包含頁面和所有被包含的頁面加在一起構成了所謂的JSP編譯單元。 
 
樣本 
<%@ include file="header.html" %>

<%@ page %>說明 
這個指令只能用於JSP頁面中。它定義了依賴於頁面的屬性,如指令碼語言、錯誤頁面和緩衝需求等。 
 
文法 
<%@ page [autoFlush="true|false"] [buffer="8kb|NNkb|none"]
    [contentType="mimeType"] [errorPage="pageOrContextRelativePath"]
    [extends="className"] [import="packageList"] [info="info"]
    [isELIgnored="true|false"] [isErrorPage="true|false"]
    [isThreadSafe="true|false"] [language="java|language"]
    [pageEncoding="encoding"] [session="true|false"] %>

 
屬性 
名稱 預設值 描述 
autoFlush true 是否自動重新整理輸出,如果為false,緩衝區滿時拋出異常 
buffer 8kb 指定頁面緩衝區大小 
contentType text/html或text/xml 頁面所產生響應的MIME類型,還可能包括響應字元集。對於JSP頁面,預設值為text/html;對應JSP Document,預設值為text/xml 
errorPage 無 頁面代碼拋出異常時,要跳轉的目標頁面 
extends 無 JSP頁面的編譯單元的基類,必須實現為JspPage或HttpJspPage介面 
import 無 頁面匯入的java包,唯一可以重複的屬性 
info 無 頁面描述文本 
isELIgnored false 是否忽略EL運算式 
isThreadSafe true 頁面是否可以為並行的請求提供服務 
language java 頁面指令碼的語言,目前之支援java 
pageEncoding 見描述 用於JSP頁面的編碼。常規頁面預設為ISO-8859-1,對於JSP Document文檔,預設為UTF-8 
session true 是否在頁面啟用使用者會話 
 
 
備忘 
編譯模組可以有多個page指令,但所有的import和pageEncoding屬性都會被合并。對於編譯單元內的檔案,只能有一個page指令。 
 
樣本 
<%@ page language="java" contextType="text/html;charset=GB2312" %>
<%@ page import="java.util.*,java.text.*" %>
<%@ page import="java.sql.Date" %>

<%@ tag %>說明 
只能在Tag File檔案中使用,定義了檔案自身的屬性,另外還定義了相應自訂標籤的屬性。 
 
文法 
<%@ tag [body-content="empty|scriptless|tagdependent"]
    [description="description"] [display-name="displayName"]
    [dynamic-attributes="attrCollVar"] [example="example"]
    [import="packageList"] [isELIgnored="true|false"]
    [language="java"] [large-icon="largeIconPath"]
    [pageEncoding="encoding"] [small-icon="smallIconPath"] %>

 
屬性 
名稱 預設值 描述 
body-content scriptless 定義動作體類型 
description 無 文本描述資訊 
display-name 無 IDE環境顯示的名稱 
dynamic-attributes 無 指定用於儲存未聲明屬性值的變數,為一Map,鍵為屬性名稱,值為屬性值 
example 無 展示如何使用標籤的例子 
import 無 頁面匯入的java包,唯一可以重複的屬性 
isELIgnored false 是否忽略EL運算式 
language java 頁面指令碼的語言,目前之支援java 
lareg-icon 無 IDE環境下使用的大表徵圖(32*32)的路徑 
pageEncoding ISO-8859-1 用於標籤檔案的編碼 
small-icon 無 IDE環境下使用的小表徵圖(16*16)的路徑 
 
 
備忘 
對於JSP2.0容器,isELIgnored的預設值為false,而對於早期JSP容器,該值為true。 
 
樣本 
<%@ tag body-content="empty" dynamic-attributes="dynAttrs"%>

<%@ taglib %>說明 
聲明一個在頁面中使用的標籤庫 
 
文法 
<%@ taglib prefix="prefix" [uri="taglibURI" | tagdir="contextRelatvePath"] %>

 
屬性 
名稱 預設值 描述 
prefix 無 指定自訂標籤庫的首碼 
uri 無 可以是在庫TLD中或應用web.xml檔案中定義的庫的符號,也可以是庫TLD檔案或jar檔案的頁面相對URI路徑或上下文相對URI路徑 
tagdir 無 包含標誌檔案的目錄的上下文相對路徑,以/WEB-INF/tags開頭 
 
 
備忘 
可以在jsp頁面和tag file頁面使用。 
 
樣本 
<%@ taglib prefix="ora" uri="orataglib"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ page prefix="mylib" tagdir="/WEB-INF/tags/mylib" %>

<%@ variable %>說明 
只能在Tag File中使用,聲明了標記檔案為頁面所提供的變數。 
 
文法 
<%@ variable name-given="attrAndVarName" | name-from-attribute="attrName"
    alias="varName" [declare="true|false"] [description="description"]
    [scope="AT_END|AT_BEGIN|NESTED"] [variable-class="varType"] %>

 
屬性 
名稱 預設值 描述 
name-given 無 標記檔案用於提供其建立值的變數的名字 
name-from-attribute 無 指定建立的變數的名字由屬性指定 
alias 無 標記檔案用於儲存其所建立值的局部頁面範圍變數的名字。容器將此局部變數的值複製到調用頁面的一個頁面範圍變數中 
declare true 指定用於儲存未聲明屬性值的變數,為一Map,鍵為屬性名稱,值為屬性值 
description 無 描述 
scope NESTED 匯入變數的範圍 
variable-class String 驗證類的全路徑 
 
 
備忘 
name-from-attribute屬性必須和alias共同使用,但是不能和name-given一起出現。 
 
樣本 
<%@ variable name-from-attribute="var" alias="current"
    Variable-class="java.util.Date" scope="AT_END"%>
<%@ attribute name="var" required="true" rtexprvalue="false"%>


 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.