我正在使用Spring框架版本4,我感到困惑的是放置XML文件的文件夹,特别是tile定义以及在哪里找到解析器bean。
答案 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应该为您解释所有这些。