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.
Asked
Active
Viewed 1.1k times
4

informatik01
- 16,038
- 10
- 74
- 104

Andoy Abarquez
- 1,119
- 4
- 17
- 30
-
Please add relevant tags when you asking the question, It is very helpful to add peoples attraction. – Ruchira Gayan Ranaweera Aug 12 '14 at 09:16
3 Answers
5
The tile definition xml is specified when you define the TilesConfigurer
bean. If you are using Java-based configuration this would look like:
@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:
<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.
5
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:
<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>

Shahid Yousuf
- 310
- 4
- 5
-
You can also use the TilesViewResolver instead of the UrlBasedViewResolver (```
```). You don't need to configure the viewClass then. – OlgaMaciaszek Jan 04 '16 at 13:29