4

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

4

3 回答 3

5

tile 定义 xml 在您定义TilesConfigurerbean 时指定。如果您使用基于 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目录下的所有切片定义。

于 2014-10-21T16:40:20.443 回答
5

你需要用几个bean配置你的servlet上下文,使tiles.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>
于 2015-07-03T15:32:29.783 回答
0

文档应该为您解释所有这些。

于 2014-09-21T19:07:09.307 回答