前后台交互
场景前台所传json格式数据为:
$scope.pojo = {name:'huangSir',hobbies:[{id:1,hName:'swim'},{id:2,hName:'ball'}]};
利用 $http.post("../user/testPojo.do",$scope.pojo)发送到后端
也可以利用$http.post("../user/testPojo.do",JSON.stringify($scope.pojo))发送
后台可以用
private String name;
private String hobbies
这样的pojo接受
也可以用
private String name;
private List<Hobby> hobbies(Hobby.class:private int id;private String hName)接受
在用jackson进行数据封装时,需要在springMVC.xml配置文件中声明(否则会有415错误):
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes" value="application/json"/>
<property name="features">
<array>
<value>WriteMapNullValue</value>
<value>WriteDateUseDateFormat</value>
</array>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
在利用ajax传输json对象时,传输的是字符串(直接写json对象会出现415错误)
dataType: "json",
traditional:true,
data:{
sentDatas:JSON.stringify(sentDatas)
},
前台由编号显示具体文本(比如分类信息)
//TODO:懒得打字 以后补
重要一点是json对象 obj[1]
这种也是可以的//不知道[obj]可不可以 以后再说
代码:
$scope.cObj = {};
$scope.findContentCategoryList = function () {
contentCategoryService.findAll().success(function (data) {
for (var i = 0; i < data.length; i++) {
$scope.cObj[data[i].id] = data[i].name;
}
$scope.contentCategoryList = data;
})
};