Java 如何将Spring4与ApacheTiles 3集成?
我使用的是Spring framework版本4,我弄不清楚该将XML文件放在哪个文件夹中,特别是磁贴定义以及在哪里可以找到解析器bean。应该为您解释所有这些。在定义Java 如何将Spring4与ApacheTiles 3集成?,java,spring,spring-4,apache-tiles,tiles-3,Java,Spring,Spring 4,Apache Tiles,Tiles 3,我使用的是Spring framework版本4,我弄不清楚该将XML文件放在哪个文件夹中,特别是磁贴定义以及在哪里可以找到解析器bean。应该为您解释所有这些。在定义磁贴配置器bean时指定了磁贴定义XML。如果您使用的是基于Java的配置,则如下所示: @Bean public TilesConfigurer tilesConfigurer(){ TilesConfigurer tilesConfigurer = new TilesConfigurer(); tilesCon
磁贴配置器
bean时指定了磁贴定义XML。如果您使用的是基于Java的配置,则如下所示:
@Bean
public TilesConfigurer tilesConfigurer(){
TilesConfigurer tilesConfigurer = new TilesConfigurer();
tilesConfigurer.setDefinitions(new String[] {"/WEB-INF/**/tiles.xml"});
tilesConfigurer.setCheckRefresh(true);
return tilesConfigurer;
}
<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>
如果您使用的是基于xml的配置,则如下所示:
@Bean
public TilesConfigurer tilesConfigurer(){
TilesConfigurer tilesConfigurer = new TilesConfigurer();
tilesConfigurer.setDefinitions(new String[] {"/WEB-INF/**/tiles.xml"});
tilesConfigurer.setCheckRefresh(true);
return tilesConfigurer;
}
<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
当您指定
/WEB-INF/views/**/tiles.xml
时,您告诉tileConfigure
递归查找/WEB-INF/views
目录下的所有tile定义。您需要使用两个bean配置servlet上下文,make 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>
/WEB-INF/tiles.xml
/WEB-INF/views/**/views.xml
org.springframework.web.servlet.view.tiles3.TilesView
请在提问时添加相关标记,添加人脉吸引力非常有帮助。您也可以使用TileViewResolver而不是UrlBasedViewResolver(
)。您不需要配置viewClass。