有时候需要在前台自定义对象,然后把对象封装在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. swift 之归档和解归档

    swift 之归档和解归档 数据持久化的方式有很多种,归档是其中的一种,说起数据持久化的方式,iOS 中基本有以下几种方式:sqlite存储.coredata存储.UserDefault存储.归档.p ...

  2. for、for in和while以及do while

    for循环:一般用在已知判断条件的循环; for(变量初始化;循环条件判断;循环后的执行){ 代码块 } //变量初始化可以省略,但是分号不能省.有多个的话用逗号隔开 //循环条件判断是true还是f ...

  3. 第6章 MSI和MSI-X中断机制

    在PCI总线中,所有需要提交中断请求的设备,必须能够通过INTx引脚提交中断请求,而MSI机制是一个可选机制.而在PCIe总线中,PCIe设备必须支持MSI或者MSI-X中断请求机制,而可以不支持IN ...

  4. dojo之FilteringSelect

    1.保证可视框宽度与下拉框宽度一致 forceWidth:'true' 2.控制下拉框的高度 maxHeight:'120'

  5. INS-30011 输入的ADMIN口令不符合Oracle建议的标准

    1.错误描述 2.错误原因 由于在设置密码时,首个字符为数字,导致出错 a.必须以字母开头 b.长度不超过30个字符 c.只能包含字母.数字和_.$.# d.不能使用关键字和保留字 3.解决办法 重新 ...

  6. 芝麻HTTP:设置Selenium+Chrome代理

    微博登录限制了错误次数···加上Cookie大批账号被封需要从Cookie池中 剔除被封的账号··· 需要使用代理··· 无赖百度了大半天都是特么的啥玩意儿???结果换成了 Google手到擒来 分分 ...

  7. CentOS使用nmcli配置网络

    nmcli 查看网络设备信息 nmcli dev status 查看所有连接的列表 nmcli connection show nmcli connection show --active 查看活动连 ...

  8. pat1031-1040

    1031 #include<iostream> #include<cstdio> #include<cstring> #include<vector> ...

  9. 使用 github 做代码管理,知道这些就够了

    只要掌握了下面的常用命令,基本上用使用 github 就没有问题.github 有两种认证方式,一种是通过 ssh 私钥的方式,一种通过 https 的账号名和密码.ssh 方式需要创建本地秘钥并且添 ...

  10. WPF基础篇之命名空间

    WPF中XAML与C#一样,也有自己独立的编译器.XAML会被解析和编译,最终形成微软的中间语言存储在程序集中.在解析和编译XAML的语言过程中,我们经常需要告诉编译器一些重要的信息,比如XAML代码 ...