3 回答

TA貢獻(xiàn)1765條經(jīng)驗 獲得超5個贊
有以下主要區(qū)別和一些細(xì)微差別:
(一)指令include的寫法如下:
1 | <%@ include file="xxxxx" %> |
它就是一種簡單的包含以實現(xiàn)代碼重用,JSP編譯時就會包含進(jìn)來,不會產(chǎn)生請求。
其他特點:
1)其URL不支持帶參數(shù),比如<%@ include file="xxxxx?var=123" %>就是錯誤的。
2)寫include指令的頁面和被包含的頁面中,代碼中不能有同名變量,否則會報錯。
(二)JSP Include動作寫法如下:
1 | <jsp:include page="XXXXX"/> |
只有在運行時會產(chǎn)生請求,相當(dāng)于執(zhí)行了一段Java代碼產(chǎn)生了請求,所以會自動檢查被包含內(nèi)容的變化,即時更新結(jié)果。
其他特點:
1)URL支持帶參數(shù),語法如下:
1 2 3 | <jsp:include page="XXXXX"> <jsp:param name="PARAM_NAME" value="PARAM_VALUE"> </jsp:include> |
2)寫include動作的頁面和被包含的頁面中,代碼中可以有同名變量,因為二者之間是請求和被請求的關(guān)系,頁面代碼在請求之前已經(jīng)編譯好了。
如果以上差別不會產(chǎn)生影響,其實二者哪個都可以用的。

TA貢獻(xiàn)1982條經(jīng)驗 獲得超2個贊
兩者的作用都是處理所需要的文件,但處理方式和處理時間不同。
include指令標(biāo)記是在編譯階段就處理所需要的文件,被處理的文件在邏輯和語法上依賴于當(dāng)前的jsp頁面,優(yōu)點是執(zhí)行速度快。
include動作標(biāo)記在jsp頁面運行時才被處理的文件,被處理的文件在邏輯和語法上獨立與當(dāng)前的JSP頁面,其優(yōu)點是可以使用param子標(biāo)記更靈活的處理所需要的文件,缺點是執(zhí)行要慢一點

TA貢獻(xiàn)1811條經(jīng)驗 獲得超4個贊
include指令是指把其它頁面的JAVA代碼(源碼)加進(jìn)來,跟本頁面的代碼合并在一起,相當(dāng)于把源碼從那個頁面復(fù)制到本頁面中來,然后再編譯。所以變量可以共用。并用由于本頁面編譯時已經(jīng)包含了別的文件的源碼,所以以后其它頁面更改時,本頁面并不理會,因為已經(jīng)編譯過了。
<jsp:include>動作是指兩個頁面的代碼運行完以后,再把包含的那個頁面運行后的HTML結(jié)果頁面加到本頁面運行后的HTML結(jié)果頁面中來。所以變量不能共用。
添加回答
舉報