標籤:tab element 方法 文檔 允許 reference name back har
常見的屬性
所有的動作要素都有兩個屬性:id屬性和scope屬性。
- id屬性:
id屬性是動作元素的唯一標識,可以在JSP頁面中引用。動作元素建立的id值可以通過PageContext來調用。
- scope屬性:
該屬性用於識別動作元素的生命週期。 id屬性和scope屬性有直接關係,scope屬性定義了相關聯id對象的壽命。 scope屬性有四個可能的值: (a) page, (b)request, (c)session, 和 (d) application。
<jsp:include>動作元素
<jsp:include>動作元素用來包含靜態和動態檔案。該動作把指定檔案插入正在產生的頁面。文法格式如下:
<jsp:include page="相對 URL 地址" flush="true" />
<jsp:useBean>動作元素
jsp:useBean 動作用來載入一個將在JSP頁面中使用的JavaBean。
jsp:useBean動作最簡單的文法為:
<jsp:useBean id="name" class="package.class" />
在類載入後,我們既可以通過 jsp:setProperty 和 jsp:getProperty 動作來修改和檢索bean的屬性。
以下是useBean動作相關的屬性列表。
| 屬性 |
描述 |
| class |
指定Bean的完整包名。 |
| type |
指定將引用該物件變數的類型。 |
| beanName |
通過 java.beans.Beans 的 instantiate() 方法指定Bean的名字。 |
<jsp:setProperty>動作元素
jsp:setProperty用來設定已經執行個體化的Bean對象的屬性,有兩種用法。首先,你可以在jsp:useBean元素的外面(後面)使用jsp:setProperty,如下所示:
<jsp:useBean id="myName" ... />...<jsp:setProperty name="myName" property="someProperty" .../>
此時,不管jsp:useBean是找到了一個現有的Bean,還是新建立了一個Bean執行個體,jsp:setProperty都會執行。第二種用法是把jsp:setProperty放入jsp:useBean元素的內部,如下所示:
<jsp:useBean id="myName" ... >...<jsp:setProperty name="myName" property="someProperty" value=" ".../></jsp:useBean>
此時,jsp:setProperty只有在建立Bean執行個體時才會執行,如果是使用現有執行個體則不執行jsp:setProperty。
jsp:setProperty動作有下面四個屬性,如下表:
name 它表示要設定屬性的是哪個Bean。
property 它表示要設定哪個屬性。有一個特殊用法:如果property的值是"*",表示所有名字和Bean屬性名稱字匹配的請求參數都將被傳遞給相應的屬性set方法。
value 該屬性用來指定Bean屬性的值。字串資料會在目標類中通過標準的valueOf方法自動轉換成數字、boolean、Boolean、 byte、Byte、char、Character。例如,boolean和Boolean類型的屬性值(比如"true")通過 Boolean.valueOf轉換,int和Integer類型的屬性值(比如"42")通過Integer.valueOf轉換。 value和param不能同時使用,但可以使用其中任意一個。
param 它指定用哪個請求參數作為Bean屬性的值。如果當前請求沒有參數,則什麼事情也不做,系統不會把null傳遞給Bean屬性的set方法。因此,你可以讓Bean自己提供預設屬性值,只有當請求參數明確指定了新值時才修改預設屬性值。
<jsp:getProperty>動作元素
jsp:getProperty動作提取指定Bean屬性的值,轉換成字串,然後輸出。文法格式如下:
<jsp:useBean id="myName" ... />...<jsp:getProperty name="myName" property="someProperty" .../>
下表是與getProperty相關聯的屬性:
| 屬性 |
描述 |
| name |
要檢索的Bean屬性名稱。Bean必須已定義。 |
| property |
表示要提取Bean屬性的值 |
<jsp:forward> 動作元素
jsp:forward動作把請求轉到另外的頁面。jsp:forward標記只有一個屬性page。文法格式如下所示:
<jsp:forward page="相對 URL 地址" />
以下是forward相關聯的屬性:
| 屬性 |
描述 |
| page |
page屬性包含的是一個相對URL。page的值既可以直接給出,也可以在請求的時候動態計算,可以是一個JSP頁面或者一個 Java Servlet. |
<jsp:element> 、 <jsp:attribute>、 <jsp:body>動作元素
定義XML元素。動態是非常重要的,這就意味著XML元素在編譯時間是動態產生的而非靜態。
以下執行個體動態定義了XML元素:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="utf-8"><title>wqkant</title></head><body><jsp:element name="xmlElement"><jsp:attribute name="xmlElementAttr"> 屬性值</jsp:attribute><jsp:body> XML 元素的主體</jsp:body></jsp:element></body></html>
<jsp:text>動作元素
<jsp:text>動作元素允許在JSP頁面和文檔中使用寫入文本的模板,文法格式如下:
<jsp:text>模板資料</jsp:text>
JSP 行為(動作)元素