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
How to integrate Spring 4 with Apache Tiles 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 MGB
The tile definition xml is specified when you define the TilesConfigurer
bean. If you are using Java-based configuration this would look like:
tile 定义 xml 是在定义TilesConfigurer
bean时指定的。如果您使用基于 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 TilesConfigurer
to look for all tiles definitions recursively under the /Web-INF/views
directory.
当您指定 时/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>