jfinal 前台传递数组到后台的方案​

xialinlin8520 发布于 2016/01/30 17:20
阅读 2K+
收藏 0

@JFinal 你好,想跟你请教个问题:

关于jfinal 获取 axaj提交传递的数组问题 

例如我在后台定义的一个参数bean    list<Integer> ids;


@ActionKey("/distributor/importExcel")
public void importExcel(){
Map<String, Object> resultMap = new HashMap<String, Object>();
TzParams params = getBean(TzParams.class,""); 
renderJson(resultMap); 
}
日志输出 

JFinal action report -------- 2016-01-30 17:16:35 ------------------------------
Controller  : com.weixinManager.controller.DistributorController.(DistributorController.java:1)
Method      : importExcel
Interceptor : com.weixinManager.interceptor.AuthInterceptor.(AuthInterceptor.java:1)
Parameter   : ids[0]=2  ids[4]=6  ids[2]=4  ids[3]=5  ids[1]=3  


前台:

var rows = $("#distributor-datagrid").datagrid('getSelections');//返回所有被选中的行,当没有记录被选中的时候将返回一个空数组。
/* var param = [];
if(rows.length>0){
for ( var i = 0; i < rows.length; i++) {
 param[i] = rows[i].distributorId;
}
}  */
var param = {};
if(rows.length>0){
for ( var i = 0; i < rows.length; i++) {
 param["ids[" + i + "]"] = rows[i].distributorId;
}

$.ajax({
url: sy.contextPath + '/distributor/importExcel',
//data : { "ids": param },
data:$.param(param),
dataType: "json",  
type: "GET",  
//traditional: true,  
success : function(result) {
if (result.succeed) {
//$("#empDatagrid").datagrid('reload');//刷新
}
//loading(result.errorMsg,3);
}
});


尝试了很多种还是无法 List<Integer> ids 是null 

求解: 前台传递数组到后台的方案



加载中
0
车开源
车开源

List跟直接递交过来的数组不是同一样东西哦。

感觉你递交过来的数据也不对。建议直接获取ids打印出来看看是什么样子的

0
蓝水晶飞机
蓝水晶飞机
试试 Integer[] ids = getParaToIntValues("ids[]");
0
蓝水晶飞机
蓝水晶飞机
这是前端序列化器的问题。
返回顶部
顶部