jsp中兩種include用法的區別
如果要實現一個網站。而且整個web站點,都需要選單,頁首,頁尾(HTML程式碼)
兩種實現方法:
1,在所有的jsp頁面中,寫上選單,頁首,頁尾的html程式碼(顯然這樣做時不合理的,如果後期要換一下頁首或選單,那麼工作量是很大的)
2 ,在所有的jsp頁面中,將選單,頁首,頁尾程式碼包含進來
包含語句是在jsp中很常用的方法,一般有兩種用法,但是很容易混淆。
<%@ include file="uri"%>:可以包含任意檔案:
*.txt *.html *.jsp *.inc *.hello
包含的是檔案的內容,不會關心檔案的型別
注意:include語句可以包含任何內容,但是在有一個jsp頁面中,只能有一組<html>,<head>,<body>
原則:在開發中被包含的檔案,只寫顯示部分的HTML程式碼,主體程式碼不要出現。
包含的時候不區分檔名稱字尾,只是將內容包含進來。
<jsp:include page="uri" / >
---<jsp:include page="uri" flush="true"/ >
或者:
---<jsp:include page="uri" flush="true">
<jsp:param name="引數名" value="引數值" />
< /jsp:include>
jsp中包含了兩種包含語句,個人建議使用此種包含語句:
此種語句,與html程式碼形式很相似:以後成此種語句叫標籤指令形式
使用此語句可以像被包含的頁面之中傳遞引數,如果傳遞引數,則被包含的頁面必須是jsp頁面,
在jsp中,接受包含語句引數的方法是request.gerParameter("")
如果被包含的頁面是jsp檔案,則自動進行動態處理
如果被包含的頁面時其他非動態的檔案,則只是將內容包含進來
%@include file=""% /:試試將頁面的內容靜態的包含進來,如果被包含的也米昂有jsp程式碼,則執行此程式碼,而不管被包含的頁面檔案字尾如何
<jsp:include />: 如果被包含的檔案內容是靜態的,則直接將內容包含進來,但是不處理,如果被包含的頁面時動態的,則先執行,再包結果包含進來顯示
下面系統的總結一下兩種include的區別:
--靜態的包含頁面:不管其內容如何只是將頁面中的內容包含進來。
--執行時:像將所有內容包含進來一起處理完之後再將所有的內容傳送給客戶端
<jsp:include page="uri">:
--動態包含頁面:能自動區分所包含的是靜態頁面還是動態頁面
---執行時:
。如果請求資源為動態,則先各自處理資源,之後將處理後的結果包含在一起。