有时候需要在前台自定义对象,然后把对象封装在list中,在传送到后台,这样的思想也比较合理

1. 前台代码

	$scope.saveScore = function () {
$scope.userScoreList = new Array();//自定义数组
angular.forEach ($scope.records, function (record, index) { if (record.score != null) {
$scope.userScoreModel = {'userAnswerId': null,'score': null};//自定义对象结构
$scope.userScoreModel.userAnswerId = record.userAnswerId;//赋值
$scope.userScoreModel.score = record.score; $scope.userScoreList.push($scope.userScoreModel);//把对象封装在集合中
debugger;
}
}); if ($scope.userScoreList != null && $scope.userScoreList.length > 0) {
var fd = new FormData();// 使用angularJS的FormData封装要传送的数据
var userScoreRecords = angular.toJson($scope.userScoreList);//把对象(集合)转换为json串
fd.append('userScoreRecords', userScoreRecords);//参数放入formData中
debugger;//使用 debugger模式查看传值情况
$http.post('/reviewProcess/save', fd, { //使用post方法 传送formdata对象
transformRequest: angular.identity, //使用angular传参认证
headers: {
'Content-Type': undefined //设置请求头
}
})
.success(function (data){
toastr.success("success");
})
.error(function (data) {
toastr.success("failed");
});
}
};

  2. 后台接收

  @ResponseBody
@RequestMapping(value = "/reviewProcess/save", method = RequestMethod.POST)
public void saveUserScore (@RequestParam("userScoreRecords") String userScoreRecords) { //使用requestparam接收前台传送的json串
System.out.println(userScoreRecords);
ObjectMapper mapper = new ObjectMapper(); // 使用fastJson的ObjectMapper反序列化json串为对象
UserScoreModel record = null;
try {
JSONArray jsonArray = new JSONArray (userScoreRecords); //在后台把json串转换为json数组
for (int i =0; i < jsonArray.length(); i++) {
record = mapper.readValue(jsonArray.getJSONObject(i).toString(), UserScoreModel.class); //获取json数组的json对象并且反序列化为对应的对象
System.out.println(record); // 得到对象后后台即可操作
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
}

  

angularJS前台传list数组,后台springMVC接收数组的更多相关文章

  1. ajax传数组到后台,后台springmvc接收数组参数

    var   ids= new Array();  $("input[class='detailCheck']:checked").each(function(i,k){   var ...

  2. springMVC 接收数组参数,mybatis 接收数组参数,mybatis批量插入/批量删除案例

    案例是给一个用户赋予多个权限,多个权限用其对应的主键 id 为参数,组成了 一个id数组,传给springMVC,然后springMVC传给mybatis,然后mybatis批量插入.其实类似的场景还 ...

  3. Springmvc接收数组参数

    Springmvc接收数组参数,必须添加@RequestParam注解 注解格式@RequestParam(value="前端参数名[]") 示例: controller端的代码 ...

  4. AJax提交表单数据到后台springmvc接收

    第一种方法直接用serialize()方法 function insert(){ $.ajax({ type:"POST", url:"${pageContext.req ...

  5. 前台传JSON到后台

    现在,有一个需求,我需要将表格中选中行的数据中的一部分传直接传到控制器中,然后保存到另外一张表中.一开始,我就想到在前台使用ajax构造json数据,然后控制器直接通过list接收. 选中界面中的行, ...

  6. springmvc接收数组类型参数

    直接在方法上使用List<Bean>报不能实例化错误! 必须将List<Bean>放在某个对象里作为属性方可接收.具体见如下例子 前端代码 <!DOCTYPE html& ...

  7. springmvc接收数组方式总结

    1.接受正常的数组 如param1=aaa&param1=bbb&param1=3 对于这种,在实体参数中,使用String param1[] 这种参数既可以获取数组的值 2.接受数组 ...

  8. 前端AJAX传递数组给Springmvc接收处理

    前端传递数组后端(Spring)来接收并处理: <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

  9. vue element多文件多格式上传文件,后台springmvc完整代码

       template:        <el-upload               class="upload-demo"               ref=&quo ...

随机推荐

  1. 基于 HTML5 Canvas 的交互式地铁线路图

    前言 前两天在 echarts 上寻找灵感的时候,看到了很多有关地图类似的例子,地图定位等等,但是好像就是没有地铁线路图,就自己花了一些时间捣鼓出来了这个交互式地铁线路图的 Demo,地铁线路上的点是 ...

  2. 初次接触:DirectDraw

    第六章 初次接触:DirectDraw 本章,你将初次接触DirectX中最重要的组件:DirectDraw.DirectDraw可能是DirectX中最强大的技术,因为其贯穿着2D图形绘制同时其帧缓 ...

  3. FusionCharts封装-Label

    Category.java: /** * @Title:Category.java * @Package:com.fusionchart.model * @Description:FusionChar ...

  4. 导出CSV格式文件,用Excel打开乱码的解决办法

    导出CSV格式文件,用Excel打开乱码的解决办法 1.治标不治本的办法 将导出CSV数据文件用记事本打开,然后另存为"ANSI"编码格式,再用Excel打开,乱码解决. 但是,这 ...

  5. MFC关于多线程中传递窗口类指针时ASSERT_VALID出错的另类解决 转

    MFC关于多线程中传递窗口类指针时ASSERT_VALID出错的另类解决   在多线程设计中,许多人为了省事,会将对话框类或其它类的指针传给工作线程,而在工作线程中调用该类的成员函数或成员变量等等. ...

  6. C#图解教程 第十六章 转换

    转换 什么是转换隐式转换显式转换和强制转换 强制转换 转换的类型数字的转换 隐式数字转换溢出检测上下文 1.checked和unchecked运算符2.checked语句和unchecked语句 显式 ...

  7. TensorLayer官方中文文档1.7.4:API – 可视化

    API - 可视化¶ TensorFlow 提供了可视化模型和激活输出等的工具 TensorBoard. 在这里,我们进一步提供一些可视化模型参数和数据的函数. read_image(image[,  ...

  8. python urllib和urllib3包使用

    urllib包 urllib是一个包含几个模块来处理请求的库.分别是: urllib.request 发送http请求 urllib.error 处理请求过程中,出现的异常. urllib.parse ...

  9. 【BZOJ3506】排序机械臂(Splay)

    [BZOJ3506]排序机械臂(Splay) 题面 神TMBZOJ没有题面,感谢SYC的题面 洛谷的题面也不错 题解 对于每次旋转的物体 显然可以预处理出来 现在只要模拟旋转操作就行了 至于在哪里放标 ...

  10. 清橙A1202&Bzoj2201:彩色圆环

    因为Bzoj是权限题,所以可以去清橙做一下 Sol 突然考了一道这样的题,考场上强行\(yy\)出来了 win下评测Long double爆零TAT 首先肯定是破环为链变成序列问题辣 那么就要求第一个 ...