指令+標籤+Jsp標籤跳轉

**

include指令:jsp靜態包含

**
頁面包含(靜態包含)指令,可以將一個jsp頁面包含到另一個jsp頁面中

語法:<%@ include file=“被包含的文件地址”%>

特點: 先包含後執行,不識別被包含文件類型
被包含頁面儘量不加html和body等標籤,否則瀏覽器可能解析出錯
被包含的頁面不能有和包含頁面存在同名變量

**原因:**靜態包含把被包含的jsp代碼嵌入到包含頁面中一起編譯執行,結果只有一個_jsp.java文件,被包含的頁面包括htm標籤都放在包含頁面的裏面。

**

jsp標籤:java動態包含

**
語法:
不傳遞參數(被包含頁面爲靜態頁面)
<jsp:include page=”(要包含的文件路徑|<%=表達式%> }"flush=“true|false”/>

傳遞參數(被包含頁面爲動態頁面)
<jsp:include page=”(要包含的文件路徑| <%=表達式%>}“flush= “truelfalse”/>
<jsp:param name=“參數名稱” value= “參數內容”/>
</jsp:include>
可以向被包含頁面中傳遞多個參數

怎麼執行標籤
◆先執行內部標籤(把請求設置到request裏)
◆再執行外部標籤,找到被包含頁面,執行被包含頁面(從請求對應request取得參數執行,將結果包含到當前頁面中)

特點:
先執行後包含(被包含頁面爲動態頁面),當前頁面通過request內置對象可以向被包含頁面傳參
先包含不執行(被包含頁面爲靜態頁面),不能傳參,如有動態代碼,則直接發給瀏覽器

相同點:

都是將被包含頁面放到包含頁面中

不同點:
1.語法範疇:指令包含是屬於jsp範疇,而標籤包含屬於java範疇

2.語法寫法不同
指令包含是<%@ include file=“被包含的文件地址”%>,
標籤包含是<jsp:include page=”(要包含的文件路徑| <%=表達式%>}"flush= “truelfalse”/ >

3.指令包含不識別別包含類型,標籤包含識別被包含頁面類型

4.指令包含不能傳參,標籤包含中如果被包含頁面是動態頁面,包含頁面能傳參給被包含頁面,標籤包含如果被包含頁面爲靜態頁面就不能傳參。

5.指令包含特點:先包含後執行。指令包含特點:動態包含中如果被包含爲靜態頁面,肯定是先包含不執行。

6.指令包含的缺陷:被包含不能放h’t’m和body標籤,但是現在瀏覽器強大了可以放,被包含頁面和包含頁面變量同名就會衝突異常。

7.標籤包含的缺陷:被包含頁面也不能有h’t’m’l和body但是現在瀏覽器強大了可以放,被包含頁面最好不能是靜態頁面,否則如果被包含頁面像傳參就不行了。

總結: 儘量使被包含頁面爲動態頁面,這樣就能更好使用標籤包含。

**

Jsp標籤跳轉:

**
語法:<jsp:forward page=“要轉發的資源” />

屬於服務端跳轉,地址欄地址不變,客戶端不變。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章