2017-07-24 4 views
-2

Ich versuche, einfache Anwendung mit Spring zu entwickeln, und ich kann den Wert von ModelAndView auf JSP-Seite nicht zurückgeben. Ich habe verschiedene Methoden und Lösungen ausprobiert, die das Internet bietet, aber keine von ihnen wurde bearbeitet. Bitte helfen Sie mir, das Problem zu lösen. Meine Quellcodes wie folgt.Spring MVC @RequestMapping funktioniert nicht 4.3.9

Web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 
    <display-name>SpringExport</display-name> 
<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 

    <servlet> 
     <servlet-name>spring</servlet-name> 
     <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>spring</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

</web-app> 

feder servlet.xml

<?xml version="1.0" encoding="UTF-8"?> 

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" 
    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.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context.xsd"> 

    <context:component-scan base-package="com.springexport.controller" /> 

    <bean id="viewResolver" 
     class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
     <property name="viewClass" 
      value="org.springframework.web.servlet.view.JstlView" /> 
     <property name="prefix" value="/WEB-INF/jsp/" /> 
     <property name="suffix" value=".jsp" /> 
    </bean> 
    <mvc:annotation-driven /> 
</beans> 

home.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<%@ page isELIgnored="false" %> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
    <h2>tada..</h2> 
    <h2>${message}</h2> 
</body> 
</html> 

UserController.java

package com.springexport.controller; 

import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.springframework.stereotype.Controller; 
import org.springframework.ui.ModelMap; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.servlet.ModelAndView; 
import org.springframework.web.servlet.config.annotation.EnableWebMvc; 
import org.springframework.web.servlet.mvc.AbstractController; 

@Controller 
@EnableWebMvc 
public class UserController { 

    public class HelloController extends AbstractController{ 

     @Override 
     protected ModelAndView handleRequestInternal(HttpServletRequest arg0, 
       HttpServletResponse arg1) throws Exception { 
      // TODO Auto-generated method stub 
      ModelAndView model = new ModelAndView("home"); 
      model.addObject("message", "hello world"); 

      return model; 
     } 
    } 
} 

Anwendungshierarchie

enter image description here

+0

'@ EnableWebMvc' tut nichts. Es sollte in eine '@ Confguration'-Klasse gehen. Daneben sollte ein 'InternalResourceViewResolver' konfiguriert sein, um den View-Namen in ein richtiges JSP-Main zu verwandeln. –

Antwort

0

diese Bohne hinzufügen xml-Servlet Spring:

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="viewClass"> 
      <value>org.springframework.web.servlet.view.JstlView</value> 
     </property>  
     <property name="prefix" value="/WEB-INF/jsp/" /> 
     <property name="suffix" value=".jsp"/> 
</bean> 
+0

Ich habe dieses versucht. Hat nicht funktioniert :(. – dmaprasad

+1

@dmaprasad hat den Präfixwert '/ WEB-INF/views /' in '/ WEB-INF/jsp /' 'geändert –

0

ich Antwort für die Ausgabe und veröffentlicht hier als Referenz gefunden haben.

Ich habe die web.xml-Datei wie folgt bearbeitet, indem Sie <url-pattern>/home.jsp</url-pattern> hinzufügen. Wir müssen eine JSP-Seite als URL-Muster definieren.

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 
    <display-name>SpringExport</display-name> 

    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 

    <servlet> 
     <servlet-name>spring</servlet-name> 
     <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>spring</servlet-name> 
     <url-pattern>/home.jsp</url-pattern> 
    </servlet-mapping> 

</web-app> 

Auch jsp Seiten hat innerhalb des WEB-INF Ordner- und Dateistruktur erstellt werden muss wie folgt haben.

enter image description here

Hoffe, dass Sie diese Dinge helfen können. Vielen Dank.

Verwandte Themen