1. 程式人生 > >網站開發進階(十一)如何將一個jsp頁面巢狀在另一個頁面中

網站開發進階(十一)如何將一個jsp頁面巢狀在另一個頁面中

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

如何將一個jsp頁面巢狀在另一個頁面中

這個在做網頁中常要用到,有些通用的內容可集中放在一個頁面檔案中,其它要用到這些內容的頁面只需要包含(引用)這個通用檔案即可。這樣便於維護,如果有很多網頁,當通用內容需要修改時,只改一個檔案就可以了,不需要每個檔案單獨修改。

最典型的應用比如頁尾的版權資訊等內容可以放在一個叫做footer.jsp檔案裡,然後其他頁面檔案在頁面內容的最後包含這個檔案就可以了。

JSP檔案需要在基於Java的伺服器上執行,比如Apache Tomcat。JSP包含檔案的第一種方法的語法是:

<%@ include file="footer.jsp" %>

此指令表示:靜態地包含頁面,不管其內容如何,不過是靜態頁面還是動態頁面都首先將頁面的內容先加進來。

第二種方法是使用<jsp:include>動作元素:

<jsp:include page="head.jsp"

 flush="true" />

當JSP頁面被請求時引入指定檔案。(先執行,後包含)此標籤表示法:能動態區別載入進來的是動態頁面還是靜態頁面,對於靜態頁面則直接將資源包含(僅取其文字)。

我們都知道在jsp中include有兩種形式,分別是

<%@ include file=” ”%>

<jsp:include page=” ” flush=”true”/>

前者是指令元素、後者是行為元素。具體它們將在何處用?如何用及它們有什麼區別?這應該是很多人看到它都會想到的問題。下面一起來看看吧。

通常當應用程式中所有的頁面的某些部分(例如標題、頁尾和導航欄)都相同的時候,我們就可以考慮用include。具體在哪些時候用<%@ include file=” ”%>,哪些時候用<jsp:include page=” ” flush=”true”/>.這種形式。首先要明白的是它們之間的區別。只有瞭解了它們用法的不同才理解該在何時去用以及如何選擇。

<%@ include file=” ”%>,jsp的include指令元素讀入指定頁面的內容。並把這些內容和原來的頁面融合到一起。(這個過程是在翻譯階段:也就是jsp被轉化成servlet的階段進行的。

這裡對翻譯階段進行一下說明:我們知道,jsp頁面不能原封不動地被傳送給瀏覽器,所有的jsp元素都必須首先由伺服器進行處理。這是通過將jsp頁面轉達化成servlet,然後執行這個servlet來完成的。伺服器需要一個jsp容器來處理jsp頁面。jsp容器通常以servlet的形式來實現,這個servlet經過配置,可以處理對jsp頁面的所有請求。

Jsp容器負責將jsp頁面轉化成servlet(稱為jsp頁面實現類?JSP Page implementation class),並編譯這個servlet。這兩步就構成了翻譯階段.

由此我們就會知道:jsp頁面是把include指令元素所指定的頁面的實際內容(也就是程式碼段)加入到引入它的jsp頁面中,合成一個檔案後被jsp容器將它轉化成servlet。可以看到這時會產生一個臨時class檔案和一個java檔案。

理論歸理論,實際操作過程中還是會遇到形形色色的問題。按照上述方法進行程式碼的拆分,結果報錯:500伺服器內部錯誤!


 

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述