兩種用法
<@inlcude file =”header.jsp”/>
此時引入的是靜態的jsp文件,它將引入的jsp中的源代碼原封不動地附加到當前文件中,所以在jsp程序中使用這個指令的時候file里面的值(即要導入的文件)不能帶多余的標簽或是與當前jsp文件重復的東西。例如里面不要包含<html><body>這樣的標簽,因為是把源代碼原封不動的附加過來,所以會與當前的jsp中的這樣的標簽重復導致出錯。
<jsp:include page=”/user/test”flush=”true”/>
此時引入執行頁面或生成的應答文本.jsp:include標簽導入一個重用文件的時候,這個文件是經過編譯的,通俗點說就是附加這個要導入文件經過編譯后的效果,所以可以含有與當前jsp程序中重復的內容,因為在附加過來之前就會被解析掉。其中flush 表示在讀入包含內容之前是否清空任何現有的緩沖區。
兩種用法的區別
| 區別 |
include |
jsp:include |
| 執行時間 |
翻譯階段 |
在請求處理階段執行 |
| 引入的內容 |
引入靜態文本,先包含,后編譯 | 引入執行頁面或servlet所生成的應答文本. 被包含的文件先編譯,后包含進來,然后顯示 |
