JSP 動做元素
與JSP指令元素不一樣的是,JSP動做元素在請求處理階段起做用。JSP動做元素是用XML語法寫成的。
利用JSP動做能夠動態地插入文件、重用JavaBean組件、把用戶重定向到另外的頁面、爲Java插件生成HTML代碼。
動做元素只有一種語法,它符合XML標準:<jsp:action_name attribute="value" />
動做元素基本上都是預約義的函數,JSP規範定義了一系列的標準動做,它用JSP做爲前綴,可用的標準動做元素以下:
語法 描述
jsp:include 在頁面被請求的時候引入一個文件。
jsp:useBean 尋找或者實例化一個JavaBean。
jsp:setProperty 設置JavaBean的屬性。
jsp:getProperty 輸出某個JavaBean的屬性。
jsp:forward 把請求轉到一個新的頁面。
jsp:plugin 根據瀏覽器類型爲Java插件生成OBJECT或EMBED標記。
jsp:element 定義動態XML元素
jsp:attribute 設置動態定義的XML元素屬性。
jsp:body 設置動態定義的XML元素內容。
jsp:text 在JSP頁面和文檔中使用寫入文本的模板
。。。
常見的屬性http://www.iis7.com/a/lm/zzxzgj/
全部的動做要素都有兩個屬性: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="relative URL" flush="true" />
前面已經介紹過include指令,它是在JSP文件被轉換成Servlet的時候引入文件,而這裏的jsp:include動做不一樣,插入文件的時間是在頁面被請求的時候。
如下是include動做相關的屬性列表。
屬性 描述
page 包含在頁面中的相對URL地址。
flush 布爾屬性,定義在包含資源前是否刷新緩存區。
。。。
<jsp:useBean>動做元素
jsp:useBean動做用來裝載一個將在JSP頁面中使用的JavaBean。
這個功能很是有用,由於它使得咱們既能夠發揮Java組件重用的優點,同時也避免了損失JSP區別於Servlet的方便性。
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" .../>
</jsp:useBean>
此時,jsp:setProperty只有在新建Bean實例時纔會執行,若是是使用現有實例則不執行jsp:setProperty。java