JSP頁面的動態包含和靜態包含樣本及介紹_JSP編程

來源:互聯網
上載者:User

一、靜態包含

本文介紹JSP靜態包含語句,即使用JSP的include指令來完成的包含操作。
JSP中,有兩種包含其它檔案的方式,一種是靜態包含,一種是動態包含。本文介紹其中的靜態包含。

所謂靜態包含,跟ASP中的包含是一樣的效果,即將所有包含的檔案,先靜態包含進來,組成一個大的JSP檔案,然後再經過編譯器統一編譯,產生HTML代碼。

JSP靜態包含的語句為:

複製代碼 代碼如下:

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

這裡的file.jsp就是要包含的檔案,這裡可以使用目錄進行包含,可以是相對目錄,可以是絕對路徑。

JSP靜態包含時,需要注意編碼的問題。

在JSP檔案中,我們必須指定頁面的contentType為GBK、GB2312、UTF-8等才能在文檔裡面輸入中文。如下:

複製代碼 代碼如下:

<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK" %>

但這裡務必注意,當這個檔案被靜態包含時,它的編碼如果跟包含它的檔案的編碼有一點點不一致,都會報錯。所以,如果要靜態包含,一定要把這兩個檔案的編碼這一句(即contentType)確保完全一致。

二、動態包含

在ASP中沒有動態包含這一說法,所有的包含都是靜態包含。而JSP中,動態包含和靜態包含有很大的區別。
本文來說一說JSP中的動態包含。

JSP中的動態包含不同於靜態包含,它是在將各個JSP頁面分別編譯執行後,將大家執行的HTML結果,組合到一起向用戶端瀏覽器輸出的一種方式。

什麼意思呢?

比如a.jsp,包含了b.jsp和c.jsp。a.jsp是無法共用b.jsp和c.jsp中設定的變數和函數的,也無法共用其邏輯結構。各自是分別編譯並執行的。比如a執行後輸出"a",b.jsp執行後輸出"b",c.jsp執行後輸出"c",那麼最終將輸出"abc"。

JSP動態包含的文法:

JSP動態包含不是使用的一個指令,而是使用的一個標籤,如下:

複製代碼 代碼如下:
<jsp:include page="file.jsp" />

或者:
複製代碼 代碼如下:

<jsp:include page="file.jsp">
<jsp:param name="p1" vlaue="v1" />
</jsp:include>

上面兩種語句並沒有本質的區別,只是前者是一個簡單的包含,而後者可以給被包含頁面傳遞參數而已。參數傳遞到被包含頁面時,可以使用request.getParameter("參數名")的方式來擷取。

大家知道在asp中,如果使用include包含語句,那麼被包含的檔案上是不能帶參數的。所以,在asp中的包含是跟jsp中的靜態包含一樣的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.