Spring MVC定义了XHTML的内容类型

时间:2013-06-18 11:09:05

标签: java internet-explorer spring-mvc xhtml content-type

我有一个带有jsp-pages的Spring MVC应用程序,我遇到了在IE8中显示我的XHTML页面的问题。 Chrome和Firefox工作正常,但IE只打开一个普通的xml文件 我想解释是响应标题“Content-Type”设置为“text / xml”,但IE希望它是“application / xhtml + xml”。我试图改变它,但它没有任何效果,Content-Type仍然是“text / xml”

这是重现的简单例子:
MVC-调度-servlet.xml中

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

<bean name="/welcome.htm" 
    class="mypackage.HelloWorldController" />

HelloWorldContriller.java

public class HelloWorldController extends AbstractController {

@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
        HttpServletResponse response) throws Exception {

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

    return model;
}
}

HelloWorldPage.jsp

<?xml version="1.0" encoding="UTF-8"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    version="2.0">
<html xmlns="http://www.w3.org/1999/xhtml">
  <body>
<h1>Spring MVC Hello World Example</h1>
<h2>${msg}</h2>
  </body>
</html>
</jsp:root>

我尝试将<property name="contentType" value="application/xhtml+xml" />添加到viewResolver,但它没有帮助。在Controller中尝试response.setContentType("application/xhtml+xml");时相同。
请有人解决方案,如何更改内容类型?

0 个答案:

没有答案