Java: Could not resolve view with name in Spring MVC

匿名 (未验证) 提交于 2019-12-03 00:56:02

问题:

I am facing this error while I am clicking on a link to display a page. I'm using Spring MVC Tiles.

Error:

javax.servlet.ServletException: Could not resolve view with name 'contact' in servlet with name 'dispatcher'

Below is the code.

tiles.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="base.definition"           template="/WEB-INF/jsp/layout.jsp">           <put-attribute name="title" value="" />           <put-attribute name="header" value="/WEB-INF/jsp/header.jsp" />           <put-attribute name="menu" value="/WEB-INF/jsp/menu.jsp" />           <put-attribute name="body" value="" />           <put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp" />       </definition>        <definition name="contact" extends="base.definition">           <put-attribute name="title" value="Contact Manager" />           <put-attribute name="body" value="/WEB-INF/jsp/contact.jsp" />       </definition>        <definition name="hello" extends="base.definition">           <put-attribute name="title" value="Hello Spring MVC" />           <put-attribute name="body" value="/WEB-INF/jsp/hello.jsp" />       </definition>    </tiles-definitions>   

web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">   <display-name>SpringMVC</display-name>        <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>/</url-pattern>    </servlet-mapping>      <context-param>           <param-name>contextConfigLocation</param-name>           <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>       </context-param>    </web-app> 

servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="     http://www.springframework.org/schema/beans          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd     http://www.springframework.org/schema/context      http://www.springframework.org/schema/context/spring-context-3.0.xsd     http://www.springframework.org/schema/mvc     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <context:component-scan base-package="com.tutorialpoint" /> <mvc:annotation-driven />    <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">       <property name="prefix" value="/WEB-INF/jsp/" />       <property name="suffix" value=".jsp" />       <property name="viewClass" value = "org.springframework.web.servlet.view.tiles2.TilesView"/>    </bean>     <bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">           <property name="definitions">               <list>                   <value>/WEB-INF/tiles.xml</value>               </list>           </property>       </bean>   </beans> 

回答1:

You don't need the following in your viewResolver definition:

 <property name="prefix" value="/WEB-INF/jsp/" />   <property name="suffix" value=".jsp" /> 

Remove it



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!