黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

JSP教程
JSP高級教程

JSP include動作

include 動作用于把另外一個文件的輸出內(nèi)容插入當前 JSP 頁面的輸出內(nèi)容中,這種在 JSP 頁面執(zhí)行時引入的方式稱為動態(tài)引入,這樣,主頁面程序與被包含文件是彼此獨立的,互不影響。被包含的文件可以是一個動態(tài)文件(JSP 文件),也可以是一個靜態(tài)文件(如文本文件)。

其語法格式如下:

<jsp:include page="relativeURL | <%=expressicry%>" />

說明:page 屬性指定了被包含文件的路徑,其值可以是一個代表相對路徑的表達式。當路徑以“/”開頭時,將在當前應用程序的根目錄下查找文件;如果是以文件名或文件夾名開頭,將在當前頁面的目錄下查找文件。書寫此動作標記時,“jsp”和“:”以及“include”三者之間不要有空格,否則會出錯。

include 動作對包含的動態(tài)文件和靜態(tài)文件的處理方式是不同的。

如果包含的是一個靜態(tài)文件,被包含文件的內(nèi)容將直接嵌入 JSP 文件中存放 動作的位置,而且當靜態(tài)文件改變時,必須將 JSP 文件重新保存(重新轉(zhuǎn)譯),然后才能訪問變化了的文件。

如果包含的是一個動態(tài)文件,則由 Web 服務器負責執(zhí)行,把執(zhí)行后的結果傳回包含它的 JSP 頁面中,若動態(tài)文件被修改,則重新運行 JSP 文件時就會同步發(fā)生變化。

【例1】在 JSP 文件中使用 <jsp:include> 動作包含靜態(tài)文件。

① 創(chuàng)建靜態(tài)文件 staFile.txt,輸入以下代碼:

<font color="blue" size="3">
<br>這是靜態(tài)文件staFile.txt的內(nèi)容!
</font>

② 創(chuàng)建主頁面文件 2-20.jsp,具體代碼如下:

<%@ page contentType="text/html;charset=utf-8" %>
<html>
<body>
使用&lt;jsp:include&gt;動作標記將靜態(tài)文件包含到JSP文件中!
</hr>
<jsp:include page="staFile.txt"  />
</body>
</html>

③運行 2-20.jsp,運行結果如圖 1 所示。

圖1 使用動作標記包含靜態(tài)文件

要注意,<jsp:indude>動作與前面講解的 include 指令作用類似,現(xiàn)將它們之間的差異總結如下。

1. 屬性不同

include 指令通過 file 屬性來指定被包含的頁面,該屬性不支持任何表達式。如果在 file 屬性值中應用了 JSP 表達式,會拋出異常。例如下面的代碼:

<% String fpath="top.jsp"; %>
<%@ include file="<%=fpath%>" %>

該用法將會拋出如下異常:

File "/<%=fpath%>" not fount

<jsp:include>動作是通過 page 屬性來指定被包含頁面的,該屬性支持 JSP 表達式。

2. 處理方式不同

使用 include 指令包含文件時,被包含文件的內(nèi)容會原封不動地插入到包含頁中使用該指令的位置,然后 JSP 編譯器再對這個合成的文件進行翻譯,所以最終編譯后的文件只有一個。

而使用<jsp:include>動作包含文件時,只有當該標記被執(zhí)行時,程序才會將請求轉(zhuǎn)發(fā)到(注意是轉(zhuǎn)發(fā),而不是請求重定向)被包含的頁面,再將其執(zhí)行結果輸出到瀏覽器中,然后重新返回到包含頁來繼續(xù)執(zhí)行后面的代碼。因為服務器執(zhí)行的是兩個文件,所以 JSP 編器將對這兩個文件分別進行編譯。

3. 包含方式不同

include 指令的包含過程為靜態(tài)包含,因為在使用 include 指令包含文件時,服務器最終執(zhí)行的是將兩個文件合成后由 JSP 編譯器編譯成的一個 Class 文件,所以被包含文件的內(nèi)容應是固定不變的,若改變了被包含的文件,則主文件的代碼就發(fā)生了改變,因此服務器會重新編譯主文件。

<jsp:include>動作的包含過程為動態(tài)包含,通常用來包含那些經(jīng)常需要改動的文件。

因為服務器執(zhí)行的是兩個文件,被包含文件的改動不會影響主文件,因此服務器不會對主文件重新編譯,而只須重新編譯被包含的文件即可。并且對被包含文件的編譯是在執(zhí)行時才進行的,也就是說,只有當<jsp:include>動作被執(zhí)行時,使用該標記包含的目標文件才會被編譯,否則,被包含的文件不會被編譯。

4. 對被包含文件的約定不同

使用 include 指令包含文件時,因為 JSP 編譯器是對主文件和被包含文件進行合成后再翻譯,所以對被包含文件有約定。例如,被包含的文件中不能使用 <html></html>、<body></body>標記;被包含文件要避免變量和方法在命名上與主文件沖突的問題。

提示:

如果在 JSP 頁面中需要顯示大量的文本文字,可以將文字寫入靜態(tài)文件中(如記事本),然后通過 include 指令或動作標記包含進來,以提高代碼的可讀性。

全部教程
主站蜘蛛池模板: 亚洲伦理中文字幕一区 | 成 人 黄 色 视频播放16 | 91段视频 | 国产精品一国产精品免费 | 国产三级日本三级美三级 | 国产精品久久久香蕉 | 国产精品女丝袜白丝袜 | 欧美成人午夜剧场 | 青青草原手机在线视频 | 小明中文字幕 | 老头边吃奶边做边爱 | a视频网站 | 日韩在线播放中文字幕 | 日本宅男午夜免费永久网站 | 美女私密福利第一导航 | 美女视频黄是免费的 | 精品久久久久久综合网 | 天堂va亚洲va欧美va国产 | 欧美97久久人人模人人爽人人喊 | 曰批全过程免费视频免费 | 成 人 黄 色 视频播放16 | 国产1区二区 | 免费一级黄色片 | 日本一道在线观看 | 在线免费国产 | 亚洲一区www | 日本人成大片在线 | 欧美一二三区 | h成人在线 | 男人午夜网站 | 成人性动漫在线观看视频 | 日韩视频第一页 | 日产国产欧美韩国在线 | 亚洲综合影视 | 亚洲色图综合图片 | 午夜免费影视 | 日韩欧美视频二区 | 国产黄色在线播放 | 国产成人久久一区二区三区 | 97欧美精品激情在线观看最新 | 清清草视频在线 |