I'm using spring 3 mvc Tiles with wildcars and I do gets the values of the parameters. I have defined my view:
<definition name="recurso/*/*" extends="genericTemplate">
<put-attribute name="titulo" value="Recurso" />
<put-attribute name="body">
<definition extends="dosColumnasTemplate" >
<put-attribute name="izquierda" value="/WEB-INF/views/recursos/detalle/{1}.jsp" />
<put-attribute name="derecha" value="/WEB-INF/views/recursos/detalle/{2}.jsp" />
</definition>
</put-attribute>
</definition>
The method calls the handler:
@RequestMapping(value="/recurso/{id}", method = RequestMethod.GET)
public String printRecurso(@PathVariable(value = "id") Long id, ModelMap model)
{
model.addAttribute("active", "recursos");
return "recurso/campos/grupos";
}
And I'm using the TilesView:
<!-- Tiles View Url Based Resolver -->
<bean id="tilesViewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" />
</bean>
The result is the following error: El Servlet.service () for servlet jsp threw exception javax.servlet.ServletException: JSP File "/ WEB-INF/views/recursos/detalle / jsp {1}." not found
javax.servlet.ServletException: JSP File "/ WEB-INF/views/recursos/detalle / jsp {2}." not found
Seems some jars issues as mentioned in this link
My pom.xml
<modelVersion>4.0.0</modelVersion>
<groupId>es.omb</groupId>
<artifactId>recursos</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>recursos Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<spring.version>3.2.10.RELEASE</spring.version>
<tiles.version>3.0.4</tiles.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>${tiles.version}</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<finalName>recursos</finalName>
</build>
My dispatcher:
<context:component-scan base-package="es.omb.recursos.controllers" />
<!-- Spring Internal View Resolver -->
<!--
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
-->
<!-- Tiles Configuration -->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles/templates.xml</value>
<value>/WEB-INF/tiles/recursos.xml</value>
<value>/WEB-INF/tiles/duplicados.xml</value>
<value>/WEB-INF/tiles/tipoloxias.xml</value>
<value>/WEB-INF/tiles/campos.xml</value>
</list>
</property>
</bean>
<!-- Tiles View Url Based Resolver -->
<bean id="tilesViewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" />
</bean>
<!-- Recursos estáticos css y js -->
<mvc:annotation-driven />
<mvc:resources mapping="/assets/**" location="/assets/" />
My tiles config templates.xml:
<!-- Plantilla genérica con el menú, body y footer -->
<definition name="genericTemplate" template="/WEB-INF/views/templates/template.jsp">
<put-attribute name="menu" value="/WEB-INF/views/templates/menus/superior.jsp" />
<put-attribute name="footer" value="/WEB-INF/views/templates/footer.jsp" />
</definition>
<!-- Plantilla genérica del body de una columna -->
<definition name="unaColumnaTemplate" template="/WEB-INF/views/templates/body/una-columna.jsp">
</definition>
<!-- Plantilla genérica del body de dos columnas -->
<definition name="dosColumnasTemplate" template="/WEB-INF/views/templates/body/dos-columnas.jsp">
</definition>
<!-- Plantilla genérica del body de tres columnas -->
<definition name="tresColumnasTemplate" template="/WEB-INF/views/templates/body/tres-columnas.jsp">
</definition>
<definition name="recurso/*/*" extends="genericTemplate">
<put-attribute name="titulo" value="Recurso" />
<put-attribute name="body">
<definition extends="dosColumnasTemplate" >
<put-attribute name="izquierda" value="/WEB-INF/views/recursos/detalle/{1}.jsp" />
<put-attribute name="derecha" value="/WEB-INF/views/recursos/detalle/{2}.jsp" />
</definition>
</put-attribute>
</definition>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.