從書上看到的,記下來以作參考。
相同點:<%@ include file="url"%>指令與<jsp:include page="url"/>動作標識都可以用來包含文件
不同點:
(1)<%@ include file="url"%>指令是通過file來指定被包含的文件,file屬性不支持任何表達式;<jsp:include page="url"/>動作標識使用page來指定文件,而page屬性支持jsp表達式。
(2)<%@ include file="url"%>,被包含的文件會原封不動的插入到原頁面中,然後JSP編譯器再將合成後的文件最終編譯成java文件;<jsp:include page="url"/>,當該標識被執行時,程序會將請求轉發到被包含的頁面並將執行結果輸出到瀏覽器中,然後返回原頁面繼續執行後面的代碼。對於這些文件JSP編譯器是分別進行編譯的。
(3)<%@ include file="url"%>指令包含文件時,由於被包含的文件最終會生成一個文件,所以在兩個文件中不能有重名的變量或者方法;<jsp:include page="url"/>動作標識包含文件時,由於每個文件都是單獨編譯的,所以重名的方法和變量是不衝突的。