angularJS前台传list数组,后台springMVC接收数组
有时候需要在前台自定义对象,然后把对象封装在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接收数组的更多相关文章
- ajax传数组到后台,后台springmvc接收数组参数
var ids= new Array(); $("input[class='detailCheck']:checked").each(function(i,k){ var ...
- springMVC 接收数组参数,mybatis 接收数组参数,mybatis批量插入/批量删除案例
案例是给一个用户赋予多个权限,多个权限用其对应的主键 id 为参数,组成了 一个id数组,传给springMVC,然后springMVC传给mybatis,然后mybatis批量插入.其实类似的场景还 ...
- Springmvc接收数组参数
Springmvc接收数组参数,必须添加@RequestParam注解 注解格式@RequestParam(value="前端参数名[]") 示例: controller端的代码 ...
- AJax提交表单数据到后台springmvc接收
第一种方法直接用serialize()方法 function insert(){ $.ajax({ type:"POST", url:"${pageContext.req ...
- 前台传JSON到后台
现在,有一个需求,我需要将表格中选中行的数据中的一部分传直接传到控制器中,然后保存到另外一张表中.一开始,我就想到在前台使用ajax构造json数据,然后控制器直接通过list接收. 选中界面中的行, ...
- springmvc接收数组类型参数
直接在方法上使用List<Bean>报不能实例化错误! 必须将List<Bean>放在某个对象里作为属性方可接收.具体见如下例子 前端代码 <!DOCTYPE html& ...
- springmvc接收数组方式总结
1.接受正常的数组 如param1=aaa¶m1=bbb¶m1=3 对于这种,在实体参数中,使用String param1[] 这种参数既可以获取数组的值 2.接受数组 ...
- 前端AJAX传递数组给Springmvc接收处理
前端传递数组后端(Spring)来接收并处理: <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...
- vue element多文件多格式上传文件,后台springmvc完整代码
template: <el-upload class="upload-demo" ref=&quo ...
随机推荐
- 嵌入式Linux引导过程之1.2——Xloader的XLOADER_ENTRY
根据上文中获得的线索,本文分析init.S中的XLOADER_ENTRY. 在init.S中,定义了好多与平台相关的寄存器地址宏以及好多其他函数,我们在用到的时候再回过头来分析,这里,我们只看其中的一 ...
- IDirectDraw接口
创建一个主DirectDraw对象,并使用QueryInterface()方法来得到最新的IDirectDraw7接口,或是直接用DirectDrawCreateEx()函数直接创建一个DirectD ...
- TI AM335X处理器介绍
AM335X是美国TI(德州仪器)公司基于 ARM Cortex-A8内核的AM335X微处理器,在图像.图形处理.外设方面进行了增强,并全面支持诸如 EtherCAT 和 PROFIBUS等工业接口 ...
- Java获取某年某月的最后一天
Java获取某年某月的最后一天 1.设计源码 LastDayOfMonth.java: /** * @Title:LastDayOfMonth.java * @Package:com.you.free ...
- Java中的空值判断
Java中的空值判断 /** * 答案选项: * A YouHaidong * B 空 * C 编译错误 * D 以上都不对 */ package com.you.model; /** * @auth ...
- JSP路径出现问题
1.错误描述 2.错误原因 <%@ page language="java" import="java.util.*" pageEncoding=&quo ...
- SCADA系统
简介编辑 在电力系统中,SCADA系统应用最为广泛,技术发展也最为成熟.它在远动系统中占重要地位,可以对现场 SCADA系统 的运行设备进行监视和控制,以实现数据采集.设备控制.测量.参数调节以及各类 ...
- 解析Java中的String、StringBuilder、StringBuffer类(一)
引言 String 类及其相关的StringBuilder.StringBuffer 类在 Java 中的使用相当的多,在各个公司的面试中也是必不可少的.因此,在本周,我打算花费一些时间来认真的研读一 ...
- javaWeb之自动发送邮件生日祝福(ServletContextListener监听)
在看完本随笔仍然不理解的可以看 javaWeb邮箱发送 :里面有具体的邮箱服务器配置 企业在员工生日当天发送邮箱生日祝福: 一般是用监听器完成: 而合适的监听是ServletContextLis ...
- 在C#的控制台应用中使用Dapper链接MySQL并执行一些增删改查
一.首先先创建一个C#的控制台应用 二.然后添加上必要的命名空间 using System;using System.Collections.Generic;using MySql.Data.MySq ...