2008-12-20 95 views
4

我使用Spring的MVC和JSP視圖。每個JSP頁面都有類似的結構 - 標題,內容,頁腳,可能是側邊欄等。尋找「最佳實踐」,人們似乎「包含」頁腳和標題,但這意味着每個JSP頁面都包含這些「包含」給出一個固定的格式。在我看來,更好的解決方案將涉及嵌套視圖,其中基礎模板通過適合於所討論的頁面的信息進行擴展。這種方法的一個優點是,您可以在基本模板中使用默認值,而無需在別處重複。另一個優點是,您可以在包含大量文本的頁面中進一步分離結構和內容(「頁眉」和「頁腳」是結構性的,因此屬於基本模板)(想想幫助頁面 - 您可以將所有內容數據庫,但爲什麼打擾,特別是因爲使用Spring可以通過區域設置解析到不同的視圖?)。基於JSP的Spring模板

似乎在Spring的MVC級別上沒有任何支持,但它可以在JSP中使用自定義標籤實現,實際上,這是一個相當笨拙的嘗試here(這可能解釋我想要的更好比這個問題,雖然我認爲你可以使它更少侵入)。

無論如何,我的問題是 - 這是否已經作爲(流行/標準)標籤庫存在?我很高興編寫自定義標籤,但我對這些東西(生成網站)的印象是,現在已經有大量的解決方案,大多數工作都在選擇正確的工具(如Spring)。謝謝。

回答

6

我推薦SiteMesh。它適用於Spring。

+0

鏈接已中斷 – 2013-07-30 16:53:41

2

如果你沒有綁定到Spring MVC,我會建議Apache Wicket,因爲它允許你描述的行爲類型。它還與IoC的Spring集成得很好。

Wicket's markup inheritance

3

我可能不會在這裏得到完整的圖片,但你也可能想看看apache tiles

我個人更喜歡以避免增加新的架構的複雜性,所以我只是堅持使用tag files

1

我建議Apache Tiles

我與SiteMesh的和Tiles做到了這一點。但是我相信Tiles對於這項工作比SiteMesh更好。 - 在MHO中,SiteMesh的目標更多是操縱現有的網頁。