+ -
当前位置:首页 → 问答吧 → struts如何接收不确定数量的参数

struts如何接收不确定数量的参数

时间:2011-09-20

来源:互联网

代码如下
function delet(){
  var url = "delete.action?";
<%for(int i=0;i<list.size();i++){%>
var obj = document.getElementById("check<%=i%>");
  //获得该节点的值
  var name = "<%=list.get(i).getName()%>";
  if(obj.checked){
  url = url+"name<%=i%>="+name+"&";
  }
<%}%>
  alert(url);
}
我这样得出的参数是不确定数量的,我提交到action后,如何在action中接收?

作者: haojing8312   发布时间: 2011-09-20

将这些不确定个数的参数封装成json形式 然后后台解析为list即可

作者: applepop   发布时间: 2011-09-20

高端。。。没试过。。。你这里能写成不定量的
后台应该也可以试试写成不定量的吧 。。。。学习ing

作者: Java_Devil   发布时间: 2011-09-20

定义成数组就行了吧!

作者: lijing0511   发布时间: 2011-09-20

这样试试name="name1=1,name2=2"

作者: softroad   发布时间: 2011-09-20

name={"name1": "1", "name2": "2"}

作者: softroad   发布时间: 2011-09-20

同意一楼

作者: yashucn   发布时间: 2011-09-20

哦,参数名不一样啊。

request.getParameterMap()

作者: lijing0511   发布时间: 2011-09-20

楼主实验下这个,定义一个Map<String,String> test;
setTest();getTest();
传递参数时需要修改下:
url = url+"test.name<%=i%>=test."+name+"&";

应该可以解决你的问题,以前我有这样用过

作者: zyz1985   发布时间: 2011-09-20

你可以循环接 , 当接到等于null的值就不接了 放到List里面
List list=new ArrayList();
int i=0;
while(request.getParameter("name"+i)!=null)
{
  Map map=new HashMap();
  map.put("name"+i,request.getParameter("name"+i));
  list.add(map);
  i++;
}

作者: chang1984024   发布时间: 2011-09-20

额,刚刚说的不对我要去查下以前的代码再说

作者: zyz1985   发布时间: 2011-09-20