1.前台

 $("#applyGoods").click(function(){
var usid=$(this).next().text();
var aid=$(this).next().next().text();
var items=document.getElementsByName("eachChoose");
var flag=false;
var goods=new Array(); //定义一个数组格式,相当于class对象
var num=0;
for(var i=0;i<items.length;i++){
if(items[i].checked==true){
var goodsStr={}; //定义一个数组格式,相当于class对象  
num++;
//当前行
var tr= items[i].parentElement.parentElement;
//获取第四个单元格,下标从0开始
var numCell= tr.cells[3];
//获取租借数量
var goodsnum=numCell.getElementsByTagName("input")[0].value;
//获取第六个单元格,下标从0开始
numCell= tr.cells[5];
var gid=numCell.getElementsByTagName("span")[0].innerText;
goodsStr.gid=gid;//class里有什么属性,就按这个格式添加
goodsStr.rentnum=goodsnum;
goodsStr.usid=usid;
goodsStr.aid=aid;
goods.push(goodsStr);//将一个class放入list
flag=true;
}
}
var list=JSON.stringify(goods);//将json对象转换成json字符串传递到后台
$.ajax({
url:"/communityMember/applyGoods",
data:{"goods":list},
type:"GET",
dataType:"json",//后台返回响应类型
//contentType:"application/json",//修改传值方式为json字符串
success:function(data){
if(data.flag==true){
alert("已提交申请!");
window.location.reload();
}else{
alert("系统繁忙,请稍后再试试!");
} },
error:function(data){
alert("系统繁忙,请稍后再试试!");
console.log("error"+data);
},
timeout:3000
}) });

2.后台

maven项目的pom.xml文件添加依赖

<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>

java的controller层

     //申请物资
@RequestMapping("/applyGoods")
@ResponseBody
public Map<Object,Object> applyGoods(HttpServletRequest request){
HashMap<Object,Object> map = new HashMap<>();
String str=request.getParameter("goods");
JSONArray jsonArray = JSONArray.fromObject(str);
Act_goods[] array=(Act_goods[]) JSONArray.toArray(jsonArray, Act_goods.class);
int sum=0;
for (Act_goods act_goods : array) {
//System.out.println(act_goods.getUsid()+":"+act_goods.getAid()+":"+act_goods.getRentnum()+":"+act_goods.getGid());
act_goods.setRentstate(0);
int num = agMapper.insert(act_goods);
sum+=num;
}
if(sum==array.length){
map.put("flag", true);
}else{
map.put("flag", false);
}
return map;
}

带复杂类的list,list<class>前台往后台传输的更多相关文章

  1. 4.3.6 对象的界定通过编写接口来访问带这类命名结构的表会出问题。如前所述,SQL Server的灵活性不应用作编写错误代码或创建问题对象的借口。 注意在使用Management Studio的脚本工具时,SQL Server会界定所有的对象。这不是因为这么做是必须的,也不是编写代码的最佳方式,而是因为在界定符中封装所有的对象,比编写脚本引擎来查找需要界定的对象更容易。

    如前所述,在创建对象时,最好避免使用内嵌的空格或保留字作为对象名,但设计人员可能并没有遵守这个最佳实践原则.例如,我当前使用的数据库中有一个审核表名为Transaction,但是Transaction ...

  2. Expo大作战(二十七)--expo sdk api之Util(expo自带工具类),tackSnapshotAsync,Svg,SQLite

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  3. 使用Maven对JAVA程序打包-带主类、带依赖【转】

    很多时候,我们需要对编写的程序进行打包,这个时候,我们可以借助一些项目构建工具,如maven, sbt, ant等,这里我使用的是maven. 打包成可执行有主类的jar包(jar包中无依赖) 以下是 ...

  4. js上传文件带参数,并且,返回给前台文件路径,解析上传的xml文件,存储到数据库中

    ajaxfileupload.js jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId ...

  5. 利用c#自带的类对文件进行压缩和解压处理

    在做网络传输文件的小例子的时候,当传输的文件比较大的时候,我们通常都是将文件经过压缩之后才进行传输,以前都是利用第三方插件来对文件进行压缩的,但是现在我发现了c#自带的类库也能够实现文件的压缩,实际上 ...

  6. C++之不带指针类的设计——Boolean

    经典的类设计分类 带指针类 不带指针类 Header文件的布局 #ifndef __COMPLEX__ #define __COMPLEX__ #include <iostream.h> ...

  7. 使用Maven对JAVA程序打包-带主类、带依赖

    使用Maven对JAVA程序打包-带主类.带依赖 http://blog.csdn.net/strongyoung88/article/details/54097830

  8. RSA前台加密后台解密的应用

    写在前面 项目安全测试需要将登录功能修改, AES加密不符合要求, 现改为RSA非对称加密.(将登录密码加密后传给后台, 后台解密后再进行一系列的校验) .期间遇到了前台js加密但是后台解密失败的问题 ...

  9. Ext分页实现(前台与后台)

    Ext分页实现(前台与后台)Spring+Mybatis 一.项目背景 关于Ext的分页网上有很多博客都有提到,但是作为Ext新手来说,并不能很容易的在自己的项目中得以应用.因为,大多数教程以及博客基 ...

随机推荐

  1. django学习笔记(2)

    Part 2: The admin site ====> Creating an admin user$ python manage.py createsuperuser   Username: ...

  2. P3164 [CQOI2014]和谐矩阵

    P3164 [CQOI2014]和谐矩阵 乱写能AC,暴力踩标程(雾 第一眼 诶这题能暴力枚举2333!!! 第二眼 诶这题能高斯消元!那只需要把每个位置的数给设出来就能够列方程了!然后就可以\(O( ...

  3. P3592 [POI2015]MYJ

    P3592 [POI2015]MYJ 一道比较烦的区间dp.. 昨天上课讲到了这题,然后就在lg翻到了 然后调了很久很久..... 设\(f[l][r][k]\)为区间\([l,r]\)中,最小值\( ...

  4. 关于IntelliJ IDEA 创建Maven项目速度慢

    在maven的VM Options加上-DarchetypeCatalog=internal参数,如下:

  5. dubbo 接口初入门

    最近公司开发新的一套系统,开发出来的方案会基于dubbo分布式服务框架开发的,那么什么是dubbo,身为测试的我,第一眼看到这个,我得去了解了解dubbo是啥玩意,为开展的测试工作做准备,提前先学 d ...

  6. POJ--3279(开关问题2个不同时间写的代码)

    Fliptile Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 19730   Accepted: 7118 Descrip ...

  7. oracle 数据库的详细安装教程

    由于oracle数据库比较大 所以安装的时候比较慢是目前装的最大的软件了吧 而且如果装崩了 可能还会重装系统 不过比较幸运 一次就装好 1.需要去官网下载  https://www.oracle.co ...

  8. 010 --MySQL查询优化器的局限性

    MySQL的万能"嵌套循环"并不是对每种查询都是最优的.不过还好,mysql查询优化器只对少部分查询不适用,而且我们往往可以通过改写查询让mysql高效的完成工作.在这我们先来看看 ...

  9. C++ chrono 库中的 steady_clock 和 system_clock

    C++11 中提供了一个计时的标准库 <chrono>; 里面有三种时钟 clock: steady_clock, system_clock 和 high_resolution_clock ...

  10. Netty源码分析第5章(ByteBuf)---->第3节: 缓冲区分配器

    Netty源码分析第五章: ByteBuf 第三节: 缓冲区分配器 缓冲区分配器, 顾明思议就是分配缓冲区的工具, 在netty中, 缓冲区分配器的顶级抽象是接口ByteBufAllocator, 里 ...