日期:2014-05-20  浏览次数:20729 次

url中的参数可否为数组?如果可以该如何和struts中的ACTION对应?
url地址中的参数可否为数组?例如http://www.xxxx.com?aa[]...,这样写无法给数组赋值。或者说http://www.xxxx.com?aa=1&aa=2&aa=3.... 应该如何写
还有,就算可以写,因为数组的长度不确定,如何在对应的ACTION中定义数组的?
请高人指点迷途的初学者,谢谢

------解决方案--------------------
试试?aa[0]=1&a[1]=2&a[2]=3
------解决方案--------------------
叹气,

http://www.xxxx.com?aa=1&aa=2&aa=3...
这个一定不合格,呵呵,后面覆盖前面的;

其实到了url上,一切都是字符串;
aa[0]=1&a[1]=2&a[2]=3 等同于 aa1=1&aa2=2&aa3=3
因为到URL上面后他的变量名是字符串;

如果你想用的话,用循环就好;
Java code
import java.util.ArrayList;
import java.util.List;


public class Test {


    public static void main(String[] args) {
           List list = new  ArrayList();
           list.add("wang1");
           list.add("wang2");
           list.add("wang3");
           list.add("wang4");
           String a = "";
           for(int i=0;i<list.size();i++) {
               if(i==0) {
                   a = a +"aa"+i+"=";
                   a = a+ (String) list.get(i);
               }else {
                   a = a +"&aa"+i+"=";
                   a = a+ (String) list.get(i);
               }
           }
           System.out.println(a);
    }
}

------解决方案--------------------
楼主自己测试一下吧
------解决方案--------------------
URL:会把数组转化为String去传的吧?
如果要传集合类可以用Session,或者到Action中自己分割一下
------解决方案--------------------
为什么这么传数据?url中的参数,最后传递后总是被解释成字符串,所以数不数组的不打紧,能不能想办法,把这些值组合成一个字符串传到action中进行分割不就行了吗。
------解决方案--------------------
可以传,不过,按照ls的组合成字符串就可以了