自定义spring map json转换

内容纲要

自定义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}}}

  1. ok,成功!确实是json数据。

  2. 观察一下,数据冗余有木有!没关系,定义我们自己的数据转换类:

    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>

     

  3. 再次布局,测试:

    {"status":true,"date":1358092422728}

    ok,这次数据就比较简洁了。

发表回复