大家好,我是IT修真院上海分院第02期學員,一枚正直善良的Java程序員。
今天給大家分享一下,修真院官網task4任務中可能會使用到的知識點:
tiles框架的理解
1.為什么要使用tiles
我們都知道,JSP中可以通過include標簽動態插入一個JSP頁面。在了解這個功能后我們就可以實現多個JSP頁面共用一個JSP的內容。
那么,如果有一個超級大的電子商務網站,擁有很多個JSP頁面,并且每個JSP都引用了同一個JSP的頭部和底部。
然后有更新需求,需要在短時間內把所有的JSP頁面header中的某個照片,或者logo,或者某個窗口更換成我們所需要的(或者在footer里面加入動圖等一些操作)。
如果你只會include標簽的話,那這樣一條一條的插入,差不多應該是完不成交代下來的任務。又或者是你拼命的高強度工作,總算在規定的時間里快要結束工作的時候,說logo的顏色或大小或位置需要更改,把剛才做的更換成新的,等會就要時,你應該已經昏過去了。。。
那么,要是你了解一個瘋狂的產品——tiles的話。
就好像重生了一樣,只需要幾分鐘時間內就可以完成所有的操作。甭管有多少JSP頁面,只要修改它們所共有的區域,你都可以迅速的解決,并且非常簡單。
本文以SSM框架為實例,進行添加tiles操作。
所有就是jsp頁面都放在webapp下面的tiles文件里,文件里都有寫路徑。
2.需要在pom文件里加入的依賴包
相關依賴包
版本根據自己的需要進行更改,基本操作這三個包就可以。
3.配置一個布局文件
布局文件
其中,ptteng.jsp就是我們的主布局模板,它決定整個網頁需要顯示的內容以及顯示到什么地方。而header.jsp和footer.jsp以及{1}.jsp就是模板里需要顯示的頭部、尾部和身體三個部分的引用頁面。(有時我們也會加上menu.jsp的菜單頁面)
至于這兒有個與重不同的地方就是有個{1}.jsp頁面,這時使用了EL表達式。由于在這個實例中我們需要添加不同的body,所以根據不同的請求,加載不同的body模塊的jsp頁面,因此name用*號代替。
簡而言之,ptteng.jsp這個頁面引用了header.jsp和footer.jsp以及{1}.jsp三個頁面。
4.ptteng.jsp頁面
主布局頁面
header表示在這里插入的header.jsp,footer表示將要在這里插入的footer.jsp。header.jsp和footer.jsp中的內容就根據自己的實際情況寫就行了。
5.Tiles視圖解析器
最后,我們需要為Tiles配置視圖解析器(這個一定不能忘),在MVC的配置文件中添加以下內容:
tiles視圖解析器
其中的layout.xml即為前文所建立的布局配置文件,p:order="1"表示優先級,數字越小,解析器的優先級越高。
6.視圖的控制器
視圖控制器