Hello to all,
I have create a web site using Tiles for templating purposes but when i redirect the index.jsp to home.jsp. It throw exception unable to resolve the view name. There is home.jsp available in WebContent folder.
Why is it cannot resolve the view name ?
Is there any method to resolve the view name to default if nothing found?
All my jsp files stores in WebContent folder. All my xml files stores in WEB-INF folder.
Tiles-def.xml
web.xmlCode:<tiles-definitions> <definition name="masterTemplate" template="/WebContent/layout.jsp"> <put-attribute name="header" value="/WebContent/header.jsp"></put-attribute> <put-attribute name="menu" value="/WebContent/menu.jsp"></put-attribute> <put-attribute name="body" value=""></put-attribute> <put-attribute name="footer" value="/WebContent/footer.jsp"></put-attribute> </definition> <definition name="home" extends="masterTemplate"> <put-attribute name="body" value="/WebContent/home.jsp"></put-attribute> </definition> </tiles-definitions>
dispatcher-servlet.xmlCode:<display-name>Spring_Tiles</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
applicationContext.xmlCode:<context:component-scan base-package="com.peter.controller"></context:component-scan> <!-- HandlerMapping -> DefaultAnnotationHandlerMapping --> <!--<bean id="handlerMapping" class="org.springframework.web.portlet.mvc.annotation.DefaultAnnotationHandlerMapping"> </bean>--> <!-- Handler Adapter -> AnnotationMethodHandlerAdapter --> <!-- <bean id="handlerAdapter" class="org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter"> </bean>--> <!-- View Resolver - Tiles View --> <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"></property> </bean> <!-- Tile Configurer --> <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> <property name="definitions"> <list> <value>/WEB-INF/tiles-def.xml</value> </list> </property> </bean> <mvc:annotation-driven />
index.jspCode:<!-- Import Servlet Context Configuration --> <import resource="dispatcher-servlet.xml"></import>
HomeController.javaCode:<body> Spring Tiles <jsp:forward page="/Spring_Tiles/showHome"></jsp:forward> </body>
Please help.Code:@Controller public class HomeController { /** * */ public HomeController() { } @RequestMapping(value = "/showHome", method = RequestMethod.GET) public String showHome() { return "/home"; } }
Thanks.


Reply With Quote
