【发布时间】:2010-06-17 17:19:42
【问题描述】:
我正在尝试在使用 Liferay 5.1.2(包括 Spring 2.5)完成的项目中使用库 spring-json.1.3.1。
按照项目网站instructions,我设法在我的控制器中发出请求,但在通过 modelAndView 对象返回 json 对象时,它失败并出现以下错误:
java.lang.IllegalArgumentException at com.liferay.portlet.MimeResponseImpl.setContentType(MimeResponseImpl.java:162)
我检查了 Liferays 源代码,它检查了它被设置的 contentType 是否在一个硬编码列表中,如果不是,它会抛出一个 IllegalArgumentException ,这正是操作系统发生的事情。
这是我的视图解析器代码:
<bean id="xmlFileViewResolver" class="org.springframework.web.servlet.view.XmlViewResolver">
/WEB-INF/context/views.xml 1
我的views.xml代码:
<beans>
<bean name="jsonView" class="org.springframework.web.servlet.view.json.JsonView"/>
还有我的控制器:
@SuppressWarnings("unchecked")
@Override
public ModelAndView handleRenderRequest(RenderRequest arg0,
RenderResponse arg1) throws Exception {
Map model = new HashMap();
model.put("firstname", "Peter");
model.put("secondname", "Schmitt");
return new ModelAndView("jsonView", model);
}
有什么想法吗?
【问题讨论】:
标签: java json spring spring-mvc liferay