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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/25260469/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-02 07:42:00  来源:igfitidea点击:

How to integrate Spring 4 with Apache Tiles 3?

javaspringspring-4apache-tilestiles-3

提问by Andrew

I am using Spring framework version 4 and I get confused which folder to put the XML files, specially the tile definitions and where to find the resolver bean.

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

采纳答案by mck

The docsshould explain all this for you.

文档应该解释这一切给你。

回答by MGB

The tile definition xml is specified when you define the TilesConfigurerbean. If you are using Java-based configuration this would look like:

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;
}

If you are using xml-based configuration this would look like:

如果您使用基于 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>

When you specify /WEB-INF/views/**/tiles.xml, you are telling the TilesConfigurerto look for all tiles definitions recursively under the /Web-INF/viewsdirectory.

当您指定 时/WEB-INF/views/**/tiles.xml,您是在告诉TilesConfigurer以递归方式查找/Web-INF/views目录下的所有磁贴定义。

回答by Shahid Yousuf

you need to configure your servlet-context with couple of beans, make tiles.xml to use layout template and rest of the definitions in views.xml to derive the base definition in tiles.xml:

你需要用几个 bean 配置你的 servlet-context,使 tile.xml 使用布局模板和 views.xml 中的其余定义来派生 tile.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>