JSP中include指令和include動作區別


首先

<%@ include file=” ”%>:為指令元素

<jsp:include page=” ” flush=”true”/>:為 動作元素

先說指令元素:

include指令元素讀入指定頁面的內容。並把這些內容和原來的頁面融合到一起。

然后經過兩個階段:

1.將jsp翻譯成 servlet 

2.servlet 翻譯成 .class文件

這樣的話,在被引入文件中請不要加入 contentype 的屬性 ,因為jsp頁面中不能指定多個contentType

 

動作元素:

它並沒有把所要添加的jsp的代碼加入到被添加的jsp中

只是在運行時引入了要添加的jsp頁面執行后所產生的應答,這意味着我們可以指定任何能夠產生應答的Web資源,(例如一個servlet或一個jsp頁面),只要這些資源所產生的類型和jsp頁面產生的編碼類型相同(如果編碼類型不同,則會出現亂碼).JSP容器將通過一個內部的函數調用來執行指定的資源,因此,這些被引入的資源可以幫 助處理原來的請求,所以這些資源可以訪問請求作用域內的所有對象.以及所有原來的請求參數.

如果修改了要添加的jsp頁面,那么可以立刻使用該頁面的最新版本,這是因為對待被引入的頁面的方式與對待由瀏覽器直接調用的jsp頁面的方式完全相同。即容器檢測頁面的變化,並自動進入翻譯階段,以得到頁面的最新版本。

 

以下是對include 兩種用法的區別,主要有兩個方面的不同:

執行時間上:

<%@ include file=”   .jsp”%> 是在翻譯階段執行

<jsp:include page=”  .jsp” flush=”true” /> 在請求處理階段執行.

引入內容的不同:

<%@ include file=”  .jsp”%>引入靜態文本(html,jsp),在JSP頁面被轉化成servlet之前和它融和到一起.

<jsp:include page=”  .jsp” flush=”true” />引入執行頁面或servlet所生成的應答文本.

 

大家可以參考:http://developer.51cto.com/art/200902/111134.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM