2015-01-03 29 views
0

我的源的ModelAndView返回源代碼以 「text/plain的」 類型

@RequestMapping(value = "/", method=RequestMethod.GET) 
public ModelAndView mainPage() { 

    ModelAndView model = new ModelAndView("uploadPage"); 
    model.addObject("msg", "hello world"); 

    return model; 
} 

我的web.xml

<?xml version="1.0" encoding="ISO-8859-1"?> 

<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd" > 

<web-app> 
    <display-name>Archetype Created Web Application</display-name> 

    <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/spring/mvc/servlet-context.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> 

    <welcome-file-list> 
     <welcome-file></welcome-file> 
    </welcome-file-list> 
</web-app> 

,但在執行時 「炫魅法」,jsp頁面看起來像源代碼「 text/plain的」類型,而不是正常網頁...

<%@ 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" %> 
<title>Hello Spring MVC</title> 
</head> 
<body> 
    <h2> 
     <c:out value="${msg}" /> 
    </h2> 
</body> 
</html> 

幫助 enter image description here

+0

但是從我所看到的'contentType =「text/html'!我看不到''text/plain'' –

+0

我更新了帖子,添加了截圖 –

+0

您能否提供web.xml? –

回答

2

好吧,我明白了,我想。更改

<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 

要麼這個

<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>*</url-pattern> 
</servlet-mapping> 

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

你無論工作。致謝this answer

1

看起來你的頁面是從服務器返回的普通資源文件。這意味着Spring根本不會被調用,並且您的文件可能會遺漏.jsp擴展名。 首先檢查您的web.xml以查看DispatcherServlet是否正確映射以獲取您的URL。如果不確定,就把

<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> 

其次,檢查你的bean配置是否有適當的viewResolver bean。

相關問題