Struts2 不能接收数组
Struts2 不能接收数组
http://bbs.csdn.net/topics/390339953
struts2没有自动转换接收的,js不用变,需要在java代码里这样接收:String[] ids = request.getParameterValues("ids[]");这样就可以了。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
if(confirm("确定要删除 "+ ids.length+" 条数据吗?")){ alert(ids);// ids已经确定有值.为数组 有下标,有长度.循环可用. $.ajax({ type : "post", url:templateRoot + '/one/oneAction_delete.do', dataType : "json", data : { "ids" : ids}, // cache : false, success : function(data, textStatus) { jQuery("#grid").trigger("reloadGrid"); gridDialog.dialog("close"); } }); } |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public String[] ids;public void setIds(String[] ids) { this.ids = ids; }//程序能走到这里,把上面的参数换面字符串就可以里来,在下标为0的位置上,但数组的长度永远为1 public void delete(){ // oneService.deleteByIds(ids); System.out.println("木要"); System.out.println("------"+ids); outPrint("删除"); } |
用System.out.println("------"+ids);输出为null
其实你没必要把问题搞得这么复杂话
你用var ids=grid.getGridParam("selarrrow");
ajax的时候直接在data里面ids=ids.toString();
action里面直接定义String ids的setter gettter
就可以获得1,2,3,4,5这样的字符串了。到时你要转换成数组直接ids.split(",")就可以了

浙公网安备 33010602011771号