2012-04-14 140 views
0

我正在尋找一種基於某些bean中設置的某些值動態加載佈局的方法。 使用Spring MVC與Apache瓷磚。選擇基於URL的Spring MVC佈局

裏面我views.xml我通常會碰到這樣的:

<definition extends="mytemplate" name="home"> 
    <put-attribute name="title" value="Home Page Title"/> 
    <put-attribute name="heading" value="Home"/> 
    <put-attribute name="body" value="/WEB-INF/pages/home.jspx"/> 
    <put-attribute name="side" value="/WEB-INF/pages/side.jspx"/> 
</definition> 

,然後裏面mytemplate.jspx會有代碼定義模板是什麼樣子。

我在找的是一種根據URL邏輯來改變mytemplate的方法(檢查傳入url是www.example1.com還是www.example2.com),通過RequestInterceptor攔截url,設置一個值在ThemeLayoutBean中,然後根據它是否爲url1或url2,分別具有mytemplate1和mytemplate2,每個佈局具有完全不同的佈局。

回答

0

Apache Tiles擁有先進的視圖編寫器,可以讓我以一種稍微不同的方式完成我需要做的事情。 http://tiles.apache.org/framework/tutorial/advanced/preparer.html

+0

嗨,你有沒有一個例子,你如何能夠實現視圖編寫者的動態佈局?我正在嘗試做類似的事情。 – aprajitha 2015-03-18 03:05:02

+0

查看Spring Roo比薩示例,在搭建模型後,輸入web mvc setup,您將獲得所有Apache瓦片的優點,您可以從該示例開始工作。我實際上並沒有編碼,但那是我的出發點。從JSP佈局類型切換到單頁JavaScript/Dart驅動的佈局,其中Spring的唯一目的是響應來自javascript/dart的JSON請求。 – 2015-03-18 04:34:01

+0

感謝您的回覆。我會仔細看看的。 – aprajitha 2015-03-18 20:15:58