如何将Spring 4与Apache Tiles 3集成?

时间:2014-08-12 09:15:03

标签: java spring spring-4 apache-tiles tiles-3

我正在使用Spring框架版本4,我感到困惑的是放置XML文件的文件夹,特别是tile定义以及在哪里找到解析器bean。

3 个答案:

答案 0 :(得分:5)

定义TilesConfigurer bean时指定了tile定义xml。如果您使用的是基于Java的配置,那么它将如下所示:

@Bean
public TilesConfigurer tilesConfigurer(){
    TilesConfigurer tilesConfigurer = new TilesConfigurer();
    tilesConfigurer.setDefinitions(new String[] {"/WEB-INF/**/tiles.xml"});
    tilesConfigurer.setCheckRefresh(true);
    return tilesConfigurer;
}

如果您使用的是基于xml的配置,则会显示如下:

<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/views/**/tiles.xml</value>
        </list>
    </property>
</bean>

当您指定/WEB-INF/views/**/tiles.xml时,您告诉TilesConfigurer/Web-INF/views目录下递归查找所有切片定义。

答案 1 :(得分:5)

您需要使用几个bean配置您的servlet-context,使tiles.xml使用layout.xml模板和views.xml中的其他定义来派生tiles.xml中的基本定义:

  <beans:bean id="tilesConfigurer"
    class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
    <beans:property name="definitions">
        <beans:list>
            <beans:value>/WEB-INF/tiles.xml</beans:value>
            <beans:value>/WEB-INF/views/**/views.xml</beans:value>
        </beans:list>
    </beans:property>
</beans:bean>
<beans:bean id="tilesViewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <beans:property name="viewClass">
        <beans:value>
            org.springframework.web.servlet.view.tiles3.TilesView
        </beans:value>
    </beans:property>
    <beans:property name="order" value="0"/>
</beans:bean>

答案 2 :(得分:0)

docs应该为您解释所有这些。