저는 Spring MVC 프로젝트를 가지고 있으며 Apache Tiles를 사용하여 어플리케이션에서 뷰를 만들고 싶습니다. 내 pom.xml
파일에 몇 가지 종속성을 추가했습니다. 나는 너무 많은 것을 가지고 있을까 궁금하지만 수업을 빠뜨린 것에 대한 예외를 몇 가지 가지고있어서 클래스 패스에 추가했습니다.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>
이 디스패처 서블릿 컨텍스트 내 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
이 표시됩니다.
편집
이 내 컨트롤러입니다. "집"과 연결된보기는 작동하지만 타일은 작동하지 않습니다. 그들은이 튜토리얼에서 온
<?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하지만 나를 위해 작동하지
@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
파일입니다.
Tiles 구성 파일과 컨트롤러 클래스의 일부 코드를 게시 할 수 있습니까? – davioooh
방금 내 질문을 편집했습니다. 그것을 확인해 주시겠습니까? – woyaru