2012-03-11 91 views
1

我正在學習Spring,來自PHP/Zend環境。我正在努力研究如何完成我通常在項目中做的所有常見事情,從AJAX請求到表單處理等等。這一切似乎都很簡單,但我現在在某個特定區域遇到問題,這是佈局Spring MVC - 佈局

我看速度,SiteMesh的和Tiles這一切似乎矯枉過正,而且與佈局,這是「小部件」的缺乏的注射未能解決的另一個問題(據我所知)更好的描述。

我希望能夠做的就是輕鬆地說「這個控制器(或方法)應該使用這種佈局」。我不需要任何比這更復雜的東西。我發現這個博客文章,其中有一點調整會給我我所需要的,我相信:http://blog.tuxychandru.com/2009/12/simple-layouts-with-jsp-in-spring-mvc.html

關於「小部件」。比方說,我有我的「layout.jsp」,其中包括我的頂部標題,其中包括當前登錄的用戶,動態導航,CSS/JS網址需要動態添加前綴。換句話說,佈局需要能夠抓取它需要的數據,或者注入它。據我所見,我有兩種選擇。第一個選項是自定義taglib。第二種選擇是製作一個佈局bean,然後可以使用一組其他bean(如配置中定義的)注入,然後將其注入模型以供JSP使用。

有沒有人對上述兩種方法中的首選方法有意見? taglib看起來更簡單,雖然不太優雅。

是否有任何佈局/模板引擎在那裏與Spring集成並提供像這樣通過任意bean的能力?

UPDATE:我注意到Tiles有一個ViewPreparer的概念,它可以解決與注入與控制器無關的對象周圍的問題。

在此先感謝,

詹姆斯。

回答

1

瓷磚實際上很容易,所以我不會放棄它作爲「矯枉過正」。我經常使用它。正如您已經發現的那樣,使用ViewPreparer您還可以非常仔細地模擬類似組件的行爲。

另一種方法是使用JSF進行渲染。我回寫了一個bootstrap for Spring MVC using JSF 2