dwr如何正确传递数组呢?

APOLLO_TS 2009-04-28 11:12:54
java方法如下:

public void attachDirtyForAclUnExtends(int accId, int modId, int[] permission,int[] yes) {
aclDao.attachDirtyForAclUnExtends(accId, modId, permission, yes);
}

那么js怎么调用呢?


...全文
1406 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
丰太君 2011-03-15
  • 打赏
  • 举报
回复
如果 我要传回给方法
public boolean getData(long[] data){
//TODO
return true;
}

需要怎么处理呢,怎么识别 long[]?
awcx8888 2010-01-06
  • 打赏
  • 举报
回复
鄙视楼主
自己解决了,怎么不和大家分享那
APOLLO_TS 2009-04-28
  • 打赏
  • 举报
回复
js是弱类型的,即是用'1'表示数字也没什么,但是不能使用数学公式和比较大小而已。
xiaojing7 2009-04-28
  • 打赏
  • 举报
回复
var per = new Array(0,1, 2, 3);
专业二三维GIS 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 APOLLO_TS 的回复:]
dwr调用代码!
$("input[type='checkbox'][accSn]").click(
function(){
var per= new Array('0','1','2','3'); 试验了不行
var pow= new Array('1','1','1','1');
//var per= [0,1,2,3]; 试验了不行
//var pow= [1,1,1,1];
accountManager.attachDirtyForAclUnExtends(
${CAACLManageForm.accId},
$(this).attr("modId"),
per,
pow
);

[/Quote]

既然是int类型的数组,在javascript中为什么定义成字符形?

var per= new Array('0','1','2','3');
var pow= new Array('1','1','1','1');

而不是:

var per= new Array(0,1,2,3);
var pow= new Array(1,1,1,1);

APOLLO_TS 2009-04-28
  • 打赏
  • 举报
回复
dwr调用代码!
$("input[type='checkbox'][accSn]").click(
function(){
var per= new Array('0','1','2','3'); 试验了不行
var pow= new Array('1','1','1','1');
//var per= [0,1,2,3]; 试验了不行
//var pow= [1,1,1,1];
accountManager.attachDirtyForAclUnExtends(
${CAACLManageForm.accId},
$(this).attr("modId"),
per,
pow
);
}
)

error popup---没有信息提示。但是进入/dwr/test/accountManager

传递attachDirtyForAclUnExtends(0,0,[0,1,2,3],[1,1,1,1]) 居然成功了!
zhong19860904 2009-04-28
  • 打赏
  • 举报
回复
没看懂,LZ说的清楚一点
xiaojing7 2009-04-28
  • 打赏
  • 举报
回复
不太了解需求、JS调用数组?
APOLLO_TS 2009-04-28
  • 打赏
  • 举报
回复
过几天在结贴!

目前还没写的很好,等都写好了在告诉大家,无意中发现DWR的$是有浏览器兼容问题的。

var per= new Array(0,1,2,3);
var per= new Array('0','1','2','3');

全部成功了,根本不是什么数据类型的问题。js是弱类型语言。
xiongzhijian 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 benjamin_liu 的回复:]
引用 6 楼 APOLLO_TS 的回复:
js是弱类型的,即是用'1'表示数字也没什么,但是不能使用数学公式和比较大小而已。


但是DWR会根据javascript的参数类型来判断调用哪个函数,你改成数值型试一下就知道可不可以了.
var per= new Array(0,1,2,3);
var pow= new Array(1,1,1,1);
[/Quote]

顶,就是这样
专业二三维GIS 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 APOLLO_TS 的回复:]
js是弱类型的,即是用'1'表示数字也没什么,但是不能使用数学公式和比较大小而已。
[/Quote]

但是DWR会根据javascript的参数类型来判断调用哪个函数,你改成数值型试一下就知道可不可以了.
var per= new Array(0,1,2,3);
var pow= new Array(1,1,1,1);
专业二三维GIS 2009-04-28
  • 打赏
  • 举报
回复
但是DWR会根据javascript的参数类型来判断调用哪个函数,你改成数值型试一下就知道可不可以了.
var per= new Array(0,1,2,3);
var pow= new Array(1,1,1,1);
璇之星 2009-04-28
  • 打赏
  • 举报
回复

var addvalues = [];
addvalues[0]=1;
addvalues [1]=2;
addvalues [3]=s;
function insert(addvalues) {
BaisWorkBean.insertNumber(addvalues, backInsert);
}
function backInsert(dataResult) {
alert(dataResult);
}

public String insertNumber(String[] addvalues) {
try{
String[] addValues = new String[addvalues.length];//js传来的数组,我把他当成字符数组是可以的
addValues = addvalues;
} catch (Exception e) {
insertResult = e.toString();
}finally{
return Result;
}

}

上面是我用JS传数组到BEAN里面,BEAN返回结果到JS中的过程,不知道能否帮上楼主。呵呵

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧