一个关于ajax交互获取对象数组值的问题。
ajax交互
前端:实现一个类似购物车添加商品的功能,例如一个:订单,下面有很多小项,订单表和小项表一对多的表结构。
前端实现是一个form表单记录其它单项参数,小项item一个一个点击添加,然后将form表序列化传递.
前端json格式类似:{user:'xxx',remark:'xxxxx',items:[{id:1,num:1},{id:1,num:2},{id:1,num:3}]}
页面大致长这样:
后台controller拿到的参数是这样。
使用 String[] toolItemsArray = getParaValues("toolItems[]"); 这样的方式拿的值没拿到(不知道是不是我语法不对)
根据这种格式,我能想到的就是,前端再传递项目items数组的长度值,然后做循环大概类似这样的(还未实现,大致码一下):
比如在传递一个'itemSize'保存前端添加的item的数量
itemSize = getParaToInt('itemSize');
for(i=0;i<itemSize;i++){
istr = i+"";
itemParaIdName = "toolItems["+istr+"][id]";
itemParaNumName = "toolItems["+istr+"][num]";
int itemId = getParaToInt(itemParaIdName);
int itemId = getParaToInt(itemParaNumName);
}
因为第一次使用JFINAL,不熟悉,我也正在查阅文档,不知道有没其它更好的方式比如可以直接获取到一个对象数组,或者List。
请各位指导一下,谢谢。
例如:
toolItems[1][num] = 1 的取值方式就是:
getPara("toolItems[1][num]")
也就是直接让等号前面的当成 key 去取值就好,数据较多的话,使用 for 循环处理好就可以
一般来说建议使用 getBean 或 getModel 获取整个对象,在 for 循环中使用 getBean/getModel 可以更方便获取整个对象