Json 集合泛型绑定


数据绑定给我们带来巨大的方便,在前端我们只要写上与pojo类相同的参数,后台就可以绑定到实例上。但是集合泛型绑定需要一些配置。

应用场景举例:

JavaScript 代码:

<script type="text/javascript"> 
    $(document).ready(function(){ 
        var saveDataAry=[]; 
        var data1={"userName":"test","address":"gz"}; 
        var data2={"userName":"ququ","address":"gr"}; 
        saveDataAry.push(data1); 
        saveDataAry.push(data2);       
        $.ajax({
            type:"POST",
            url:"user/saveUser",
            dataType:"json",     
            contentType:"application/json",             
            data:JSON.stringify(saveData),
            success:function(data){
                                     
            }
        });
    }); 
</script>

Java代码:

    @RequestMapping(value = "saveUser", method = {RequestMethod.POST }})
    @ResponseBody 
   
public void saveUser(@RequestBody List<User> users) {
        userService.batchSave(users);
    }

问题:跑不成功?

关键:配置要Spring 3.2 以上,jackson 2.0 以上,

在配置文件加上

<bean 
    class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> 
    <property name="messageConverters"> 
        <list> 
            <bean 
                class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" /> 
        </list> 
    </property> 
</bean> 

关于Jackson 的配置,参考:配置Spring支持自动json格式数据转换

我认为也可以用传字符串的形式来实现 集合泛型绑定的,不过Spring默认启用Jsckson 处理Json,你觉得用哪个方便?

从这个例子我更了解了Web项目的配置理念。

推荐阅读:

Struts中异步传送XML和JSON类型的数据

Linux下JSON库的编译及代码测试

jQuery 获取JSON数据[$.getJSON方法]

用jQuery以及JSON包将表单数据转为JSON字符串

相关内容