JSP學習——JSP頁面的7大動作標記
阿新 • • 發佈:2018-12-16
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的取值:
- page:bean的預設使用範圍。
- request:作用於任何相同請求的 JSP 檔案中,直到頁面執行完畢向客戶端發回響應或在此之前已通過某種方式(如重定向、連結等方式)轉到另一個檔案為止。還可通過使用 Request 物件訪問 bean,如 request.getAttribute(beanName)。
- session:作用於 session 的整個生存週期,在 session 的生存週期內,對此 bean 屬性的任何改動,都會影響在此 session 內的另一 page、另一 request 裡對此 bean 的呼叫。但必須在建立此 bean 的檔案裡事先用 page 指令指定了 session=true。
- 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中則不要求如此。