2012-04-14 139 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