1. 程式人生 > >JSP學習——JSP頁面的7大動作標記

JSP學習——JSP頁面的7大動作標記

1、include動作標記

插入一個檔案(動態插入,在執行時才會呼叫插入檔案)。 
格式:

<jsp:include page="檔案的url"/>

或者

<jsp:include page="檔案的url">

    param子標記

</jsp:include>

include指令標記(靜態插入)與include動作標記(動態插入)的區別:

靜態插入是在編譯時就呼叫插入檔案,併合並編譯為一個新的Java檔案,邏輯與語法依賴於當前JSP,執行速度快。

動態插入是在執行時呼叫插入檔案,邏輯與語法獨立於當前JSP,可以使用param子標記更靈活處理檔案,執行速度慢。

2、param動作標記

格式:

<jsp:param name="屬性名" value="屬性值"/> 

param動作標記不能獨立使用,作為jsp:include、jsp:forward、jsp:plugin子標記使用

forward動作標記

格式:

<jsp:forward page="要轉向的頁面"/>

或者

<jsp:forward page="要轉向的頁面">

    param子標記

</jsp:forward>

停止當前頁面,轉向指定的JSP頁面,但位址列扔顯示前一個JSP的URL,不需要子標記時必須使用第一種形式。

3、forward動作標記

格式:

<jsp:forward page="要轉向的頁面"/>

或者

<jsp:forward page="要轉向的頁面">

    param子標記

</jsp:forward>

停止當前頁面,轉向指定的JSP頁面,但位址列扔顯示前一個JSP的URL,不需要子標記時必須使用第一種形式。

4、plugin動作標記

載入Java plugin差距,由使用者下載,使用外掛執行Java applet程式

5、useBean動作標記

建立並使用一個useBean,用HTML完成JSP靜態部分,用Java Bean完成動態部分。

<jsp:usebean id="名字" class="建立bean的類" scope="bean有效期限"/>

注意:其中"建立bean的類"中一定要帶包名,例如:class="tom.jiafei.Circle","bean的有效期限"預設值是page。

scope的取值:

  1. page:bean的預設使用範圍。
  2. request:作用於任何相同請求的 JSP 檔案中,直到頁面執行完畢向客戶端發回響應或在此之前已通過某種方式(如重定向、連結等方式)轉到另一個檔案為止。還可通過使用 Request 物件訪問 bean,如 request.getAttribute(beanName)。
  3. session:作用於 session 的整個生存週期,在 session 的生存週期內,對此 bean 屬性的任何改動,都會影響在此 session 內的另一 page、另一 request 裡對此 bean 的呼叫。但必須在建立此 bean 的檔案裡事先用 page 指令指定了 session=true。
  4. application:作用於 application 的整個生存週期,在 application 的生存週期內,對此 bean 屬性的任何改動,都會影響到此 application 內另一 page、另一 request 以及另一 session 裡對此 bean 的呼叫。

6、getproperty動作標記:

獲取 JavaBean 例項的屬性值。

<jsp:getproperty name="bean的id" property="bean的屬性"/>

7、setproperty動作標記:

修改 JavaBean 例項的屬性值。

//1、將bean的屬性值設定為一個表示式的值:
<jsp:setproperty name="bean的id" property="bean的屬性" value="<%=expression>"/>
//2、將bean的屬性值設定為一個字串:
<jsp:setproperty name="bean的id" property="bean的屬性" value=字串/>
//3、使用HTTP表單的引數值設定bean中對應的屬性值:
<jsp:setproperty name="bean的id" property="*"/>
//4、明確bean的某個屬性值設定為表單對應的引數值:
<jsp:setproperty name="bean的id" property="屬性名" param="引數名"/>

在3中,bean的"屬性名"和表單中所對應的"引數名"必須相同,4中則不要求如此。