我們都知道在jsp中include有兩種形式,分別是
< %@ include file=” ”%>
< jsp:include page=” ” flush=”true”/>
前者是指令元素、后者是行為元素。具體它們將在何處用?如何用及它們有什么區(qū)別?這應(yīng)該是很多人看到它都會想到的問題。下面一起來看看吧。
通常當(dāng)應(yīng)用程序中所有的頁面的某些部分(例如標(biāo)題、頁腳和導(dǎo)航欄)都相同的時候,我們就可以考慮用include。具體在哪些時候用< %@ include file=” ”%>,哪些時候用< jsp:include page=” ” flush=”true”/>.這種形式。首先要明白的是它們之間的區(qū)別。只有了解了它們用法的不同才理解該在何時去用以及如何選擇。
< %@ include file=” ”%>,jsp的include指令元素讀入指定頁面的內(nèi)容。并把這些內(nèi)容和原來的頁面融合到一起。(這個過程是在翻譯階段:也就是jsp被轉(zhuǎn)化成servlet的階段進(jìn)行的。
這里對翻譯階段進(jìn)行一下說明:我們知道,jsp頁面不能原封不動地被傳送給瀏覽器,所有的jsp元素都必須首先由服務(wù)器進(jìn)行處理。這是通過將jsp頁面轉(zhuǎn)達(dá)化成servlet,然后執(zhí)行這個servlet來完成的。服務(wù)器需要一個jsp容器來處理jsp頁面。jsp容器通常以servlet的形式來實(shí)現(xiàn),這個servlet經(jīng)過配置,可以處理對jsp頁面的所有請求。
Jsp容器負(fù)責(zé)將jsp頁面轉(zhuǎn)化成servlet(稱為jsp頁面實(shí)現(xiàn)類?JSP Page implementation class),并編譯這個servlet。這兩步就構(gòu)成了翻譯階段.
由此我們就會知道:jsp頁面是把include指令元素所指定的頁面的實(shí)際內(nèi)容(也就是代碼段)加入到引入它的jsp頁面中,合成一個文件后被jsp容器將它轉(zhuǎn)化成servlet??梢钥吹竭@時會產(chǎn)生一個臨時class文件和一個java文件。
更多信息請查看IT技術(shù)專欄