I'm new to Tiles and Spring MVC. Here's a simple example but I have not figured it out what's wrong with it after 2 hours.
Here's is my /WEB-INF/dispatcher-servlet.xml
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
<context:component-scan base-package="gm.*"/>
<mvc:annotation-driven/>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="index.html">indexController</prop>
</props>
</property>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" >
<value>org.springframework.web.servlet.view.tiles3.TilesView</value>
</property>
</bean>
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles.xml</value>
</list>
</property>
</bean>
<bean name="indexController"
class="org.springframework.web.servlet.mvc.ParameterizableViewController"
p:viewName="index" />
My /WEB-INF/web.xml
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>redirect.jsp</welcome-file>
</welcome-file-list>
My /WEB-INF/tiles.xml
<tiles-definitions>
<definition name="home.index" template="/WEB-INF/jsp/templates/templateUser.jsp">
<put-attribute name="content" value="/WEB-INF/jsp/home/index.jsp"></put-attribute>
</definition>
</tiles-definitions>
My controller
package gm.controller;
@Controller
@RequestMapping("/home")
public class Home {
@RequestMapping(method = RequestMethod.GET)
public String index(ModelMap modelMap){
return "home.index";
}
}
I located index.jsp in /WEB-INF/jsp/home/index.jsp
When I access this URL http://localhost:8080/myproject/home.html
, it keeps saying the error in the title.
Any idea how to fix it?