天天看點

include标簽 和 include 指令

有如下差别:

1.假設頁面a通過include指令包含了頁面b,那麼b頁面所發生的變化直到a頁面發生變化時才會被注意到。這和jsp引擎的機制是有關的。使用include指令時,頁面a在每次編譯的時候才将頁面b中的内容包含進來,然後再一起編譯。如果b發生了變化,a沒有發生變化,那麼jsp引擎不會重編譯a頁面,是以b中發生的變化不會被注意到。僅當a發生了變化的時候,jsp引擎才會重新編譯a頁面,這個時候a再把b包含進來,jsp引擎才會注意到b頁面中發生的變化。

2.使用inclue指令時,它所包含的文教案僅限于文本以及jsp片段,這時因為include指令就相當于把所包含檔案中的内容直接copy了過來。如果你包含别的東西,會導緻jsp頁面編譯出錯,或者所包含的内容無效。

3.一般來說,大多數情況下include指定比include标簽效率更高,但是兩者之間效率上的差别并不重要。

4.如果使用<jsp:include>标簽讓頁面a包含頁面b,那麼a和b是兩個獨立的頁面,它們可以為不同的變量使用同一個變量名或者為同一個标簽庫使用不同的字首,這不會沖突。而如果使用<%@ include %>則不能這麼做了,因為使用include指令的話,a和b在編譯之前實際上已經合并在一起了。