jsp 的传值

有 test.jsp 和 doTest .jsp 页面 通过 test.jsp 的 location.href="doTest.jsp?strArray="+数组 怎么在doTest.jsp 页面里 通过 request 对象 或者其他的方法 接收数组!!??
最新回答
永不言弃

2024-07-01 02:05:35

数组是不可能直接被这样传递的。。。 如果你要传递js数组,可以使用以下方法:(1)url重写比如你要传递以下数组:var arr = ["a","b","c"];"doTest.jsp?strArray="+arr.join();//join方法就是将数组拼接成字符串,中间用“,”隔开的形式,如"a,b,c"在另外一个doTest.jsp中就可以通过request.getparameter("strArray")获取到这个字符串,然后可以使用split(",")再切成数组但这种方法缺陷很多,最显著的缺点就是url的字节数最多255 (2)表单提交先将数组使用js循环 放入隐藏表单中,如:在body标签中加入一个隐藏层<body><div id="postdata" style="display:none"></div></body> 在某个事件(如 body的onload或者某个button的onclick等等)中执行:var arr=["a","b","c"];//你要传递的数组var myform = "<form method='post' action='doTest.jsp' name='pdf'>";for(i=0;i<arr.length;i++){ myform += "<input name='d' value='"+arr[i]+"'>"; }myform +="</form>";document.all.postdata.innerHTML = myform;document.pdf.submit(); 在另外一个页面使用request.getParameterValues("d")就直接获取一个数组了 (3)使用ajax框架如:dwr等,因为配置及代码较多,在此不做细说了 以上仅供参考
避讳真心

2024-07-01 00:49:13

request.getParameterValues();
搁浅

2024-07-01 01:12:54

为什么不考虑通过session传递呢?