首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
jfinal后台怎样获取从前台传过来的数组
一个小菜鸟
2019-09-20 14:41
前台传的是一个数组,F12里面传的数组格式是【
对象.属性
】,对象后面没有下角标,并且这个对象不是model,是我自己创建的类似于临时表,jfinal后台怎样获取到这个数组
项目:
JFinal
1
1
评论区
一个小菜鸟
2019-09-20 14:44
@JFinal
求解
回复
JFinal
2019-09-20 15:19
getModel 或者 getBean , 看一下文档
回复
一个小菜鸟
2019-09-20 16:04
@JFinal
文档里面举得例子是表单,表单传的是个对象,我传的是个数组,而且文档举得例子太少,没有说明传的是数组的话,怎样后台怎样接收啊
回复
JFinal
2019-09-20 16:11
@一个小菜鸟
先观察一下控制台输出的 jfinal actionn reporter 的 parameter 这一栏的数据格式
然后再选择具体的 get 系列方法,如果你是传的数组,需要 for 循环,例如:
List list = new ArrayList();
for (...) {
list.add(getBean(...));
}
要根据数据的格式,灵活搭配,这里的关键是,你要先掌握文件中的各种 get 方法的用法,然后观察 jfinal action reporter 的 parameter, 再合理选择
回复
JFinal
2019-09-20 16:12
文档限于篇幅,只提供基础功能,基础功能的灵活动用与组合,才能实现千变万化的功能
关键在于要先掌握基础用法,才能想到如何组合使用
回复
一只敲代码的猫
2021-01-27 15:00
@JFinal
我写了一个接口给别人使用,需要对方传一个List,对这种参数我怎么接收?
回复
JFinal
2021-01-27 15:03
@一只敲代码的猫
看对方传的格式是什么, 建议传 json 过来,然后你只需要在服务端 :
String jsonString = getRawData();
Map map = FastJson.getJson().parse(jsonString, Map.class);
回复
一只敲代码的猫
2021-01-27 16:00
@JFinal
期待是List list这种。这样就可以很方便 Db.batchSave(list, list.size());批量去保存
回复
JFinal
2021-01-27 16:02
@一只敲代码的猫
得看对方怎么传递,对方不传 list,服务端也没办法
回复
一只敲代码的猫
2021-01-27 16:06
@JFinal
约定好传list(Model) 这种
回复
一只敲代码的猫
2021-01-27 16:07
@JFinal
这种的话服务端有好的接受此参数的方案吗?
回复
JFinal
2021-01-27 16:12
@一只敲代码的猫
服务端目前只有 getBean、getModel、getPara、getRawData、形参注入五个系列的接收方式
你可以通过扩展 ParaGetter 来实现 List《Model》功能,也可以通过 getRequest() 得到 Request 对象以后,扩展实现
当然,最好还是让对方发送 json 数据,然后:
String jsonString = getRawData();
Map map = FastJson.getJson().parse(jsonString, Map.class);
因为 jsonString 转化成 List《Xxx》 的各类 json 工具已经成熟多年
回复
一只敲代码的猫
2021-01-27 16:18
@JFinal
好的,感谢波总!!!
回复
JFinal
2021-01-27 16:48
@一只敲代码的猫
客户端发 json 是很方便的, 有很多同学并不知道浏览器中通过 js 代码也能发 json 数据,其实很方便:
function ajaxPostJson(url, jsonString, callback) {
$.ajax({
url: url, data: jsonString,
contentType: 'application/json; charset=UTF-8', // 关键参数
type: 'POST', cache: false, dataType: 'json',
error: function(ret) {alert(ret.statusText);},
success: function(ret) {....}
});
}
注意关键参数是:
contentType: 'application/json; charset=UTF-8'
注意上面的例子依赖 jquery
回复
一只敲代码的猫
2021-01-27 19:53
我这个需求的客户端是另一个程序在调用,我这边用jfinal提供一些接口给别人调用来crud数据。是不通过浏览器发送请求的,所以才有这个疑惑和需求。
回复
发送
我要反馈
热门反馈
扫码入社