我有Spring MVC項目,我想在使用Apache Tiles的應用程序中構建視圖。我已經添加了一些依賴到我的pom.xml
文件。我想知道我有太多的東西,但是我有一些關於缺少類的例外,所以我在一些包中找到它們並將它們添加到classpath中。如何在Spring MVC中正確配置TilesViewResolver?
<!-- Tiles -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-digester3</artifactId>
<version>3.2</version>
<classifier>with-deps</classifier>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.8.3</version>
</dependency>
這是我在調度Servlet上下文ViewResolvers
配置。我想知道如何正確配置它們在一起。
<beans:bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<beans:property name="definitions">
<beans:list>
<beans:value>/WEB-INF/tiles-definitions.xml</beans:value>
</beans:list>
</beans:property>
</beans:bean>
<beans:bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<beans:property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView" />
<beans:property name="order" value="0" />
</beans:bean>
<beans:bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
<beans:property name="order" value="1" />
</beans:bean>
我已閱讀此問題和答案:How to use multiple ViewResolvers in Spring?但它對我沒有幫助。在這一刻上面的配置jsp
意見工作正常,但瓷磚地址我得到HTTP Status 404
。
編輯
這是我的控制器。與「家」連接的視圖正在工作,但其他 - 瓷磚不工作。
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
return "home";
}
@RequestMapping(value = "/pets", method = RequestMethod.GET)
public String pets(Locale locale, Model model) {
return "pets-tiles";
}
@RequestMapping(value = "/dogs", method = RequestMethod.GET)
public String dogs(Locale locale, Model model) {
return "dogs-tiles";
}
@RequestMapping(value = "/cats", method = RequestMethod.GET)
public String cats(Locale locale, Model model) {
return "cats-tiles";
}
這是我tiles-definitions.xml
文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
<definition name="template-main" template="/WEB-INF/views/layouts/main.jsp">
<put-attribute name="banner-content" value="/WEB-INF/views/sections/banner.jsp" />
<put-attribute name="title-content" value="Pet Type" />
<put-attribute name="primary-content" value="" />
<put-attribute name="footer-content" value="/WEB-INF/views/sections/footer.jsp" />
</definition>
<definition name="template-detail" template="/WEB-INF/views/layouts/detail.jsp">
<put-attribute name="banner-content" value="/WEB-INF/views/sections/banner.jsp" />
<put-attribute name="title-content" value="Pet Type" />
<put-attribute name="subtitle-content" value="" />
<put-attribute name="primary-content" value="" />
<put-attribute name="footer-content" value="/WEB-INF/views/sections/footer.jsp" />
</definition>
<definition name="pet-tiles" extends="template-main">
<put-attribute name="primary-content" value="/WEB-INF/views/contents/pets.jsp" />
</definition>
<definition name="dog-tiles" extends="template-detail">
<put-attribute name="subtitle-content" value="Canines" />
<put-attribute name="primary-content" value="/WEB-INF/views/contents/dogs.jsp" />
</definition>
<definition name="cat-tiles" extends="template-detail">
<put-attribute name="subtitle-content" value="Felines" />
<put-attribute name="primary-content" value="/WEB-INF/views/contents/cats.jsp" />
</definition>
</tiles-definitions>
他們來自本教程:http://krams915.blogspot.com/2010/12/spring-mvc-3-tiles-2-integration.html但不是爲我工作。
你可以發佈你的Tiles配置文件和控制器類的一些代碼嗎? – davioooh 2012-07-18 14:35:24
我剛剛編輯了我的問題。你能看看嗎? – woyaru 2012-07-19 06:38:03