内容纲要
自定义spring map json转换
自定义spring map json转换
{"modelAndView":{"empty":false,"reference":false,"viewName":null,"view":null,"modelMap":{"status":true,"date":1358091863067},"model":{"status":true,"date":1358091863067}}}
-
ok,成功!确实是json数据。
-
观察一下,数据冗余有木有!没关系,定义我们自己的数据转换类:
package com.gswtek.util; import java.util.Map; import org.springframework.web.portlet.ModelAndView; import org.springframework.web.servlet.view.json.MappingJacksonJsonView; public class MappingJacksonJsonViewExd extends MappingJacksonJsonView { @Override protected Object filterModel(Map<String, Object> model) { Map<?, ?> result = (Map<?, ?>) super.filterModel(model); ModelAndView mav = (ModelAndView) (result.size() != 1 ? result : result.values().iterator().next()); return mav.getModelMap(); } }
更改spring-servlet.xml:
<property name="defaultViews"> <list> <!-- ModelAndView里的数据变成JSON --> <bean class="com.gswtek.util.MappingJacksonJsonViewExd" /> </list> </property>
-
再次布局,测试:
{"status":true,"date":1358092422728}
ok,这次数据就比较简洁了。