我有一个带有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");
时相同。
请有人解决方案,如何更改内容类型?