如何将数组从javascript发送到JSp

时间:2016-07-12 12:48:12

标签: javascript arrays jsp

在我的代码中,我需要将一个数组从javascript发送到Jsp我做了很多次并且我无法获得输出我得到数组将打印该数组请帮助我在哪里我'我失踪了

我的代码是

   <%@page import="sun.security.util.Length"%>
   <%@ page import="java.util.List" %>
   <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
   pageEncoding="ISO-8859-1"%>


   <html>
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   <title>Insert title here</title>
   <script>
   function funct()
   {
   var h=localStorage.getItem('m');
   location.replace("test1jsp.jsp?arr="+h);
   }
   </script>
   </head>
   <body onLoad="funct();">
   <%
   String arr[]=request.getParameterValues("arr");
   List<String> larr = (List<String>)request.getAttribute("arr");
   for(int p = 0; p < 3; p++)
   out.println((String)larr.get(p));
   out.println(arr);
   %>
   </body>
</html>

1 个答案:

答案 0 :(得分:0)

您需要正确构建查询字符串。你不能只是将一个数组打到一个字符串上,并期望它被正确编码。

您为数组中的每个值重复键。

var h=localStorage.getItem('m');
var query_string = "";
h.forEach(function (value) {
   if (query_string.length) {
       query_string = query_string + "&";
   }
   query_string = query_string + "arr=" + encodeURIComponent(value);
}

location.replace("test1jsp.jsp?" + query_string);