Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以在JSP页面中获取Javascript数组吗_Java_Javascript_Jsp - Fatal编程技术网

可以在JSP页面中获取Javascript数组吗

可以在JSP页面中获取Javascript数组吗,java,javascript,jsp,Java,Javascript,Jsp,我正在开发一个web应用程序,其中我有一个JavaScript数组,我希望这个数组出现在我的JSP页面中,并对其进行迭代,将数据保存在数据库中 var value = response; for (var key in value) { if (value.hasOwnProperty(key)) { alert(key + " -> " + value[key]); var sample = new Array(); sam

我正在开发一个web应用程序,其中我有一个JavaScript数组,我希望这个数组出现在我的JSP页面中,并对其进行迭代,将数据保存在数据库中

var value = response;
  for (var key in value) {
      if (value.hasOwnProperty(key)) {
        alert(key + " -> " + value[key]);
        var sample = new Array();
        sample=value[key];
        console.log(sample);
        // document.getElementById('');
      }
    }
});

如果可能的话,我想在我的JSP页面上显示这些数据。如果可能的话,那么怎么做呢?

Java脚本客户端脚本,而jsp是服务器端脚本,所以您不能简单地这样做

您可以通过表单提交,或者使用URL参数,或者使用AJAX调用,将计算出的变量从javascript提交到服务器,然后在服务器上将其存储到数据库中

var value = response;
  for (var key in value) {
      if (value.hasOwnProperty(key)) {
        alert(key + " -> " + value[key]);
        var sample = new Array();
        sample=value[key];
        console.log(sample);
        // document.getElementById('');
      }
    }
});
客户端:

<script type="text/javascript">
var n = document.getElementById("data");
var f=new Array( "apple", "orange", "mango" );
n.value = f;
</script>
<form action="Your_JSP.jsp" method="POST">
<input type="hidden" id="data" name="data" value="" />
<input type="submit" />
</form>
<%
String val = request.getParameter("data");
String aa[]=val.split(",");
for(String x : aa )
out.println(x);
//now hereyou can use aa array tostore in database or do whatever you want  
%>

var n=document.getElementById(“数据”);
var f=新数组(“苹果”、“橙色”、“芒果”);
n、 值=f;
服务器端:

<script type="text/javascript">
var n = document.getElementById("data");
var f=new Array( "apple", "orange", "mango" );
n.value = f;
</script>
<form action="Your_JSP.jsp" method="POST">
<input type="hidden" id="data" name="data" value="" />
<input type="submit" />
</form>
<%
String val = request.getParameter("data");
String aa[]=val.split(",");
for(String x : aa )
out.println(x);
//now hereyou can use aa array tostore in database or do whatever you want  
%>

您可以在jsp中使用javascript,但它将始终在客户端执行。所以,若您想在浏览器中某个事件的触发器上保存一些内容,可以通过进行ajax调用或表单提交来实现。Ajax是首选的方式,因为它能为用户提供更快更好的体验


但是,如果您打算在服务器端执行javascript,这是不可能的

是的,这是可能的。可以在HTML标记中显示数组

<!DOCTYPE html>
<html>
 <head>
<script>
var value=response;
 for (var key in value) {
  if (value.hasOwnProperty(key)) {
    alert(key + " -> " + value[key]);
    var sample = new Array();
    sample=value[key];
    console.log(sample);
   // do here as 
    document.getElementById("array").innerHTML = sample;
     // here array is <p> tag in html and sample is array which will be shown in jsp page.
  }
}
</script> 
</head>
<body>
  <form action="get.jsp" method="POST">
     <p id="array" name="array" type="hidden"></p>
   <input type="submit" />
</body>
</html>

如果您有两个不同的jsp,请尝试此操作:

first.jsp


var响应=[];
...
var put=函数(形式){
form.resp.value=response.join(',');//使用逗号作为分隔符
};
提交
next.jsp


响应为:${param.resp}

您希望在jsp中显示此数组的位置??您的js是否在同一个jsp上?使用AJAX发送数据。我认为他没有提出同样的要求。他需要在JavaScript中创建一些数组,并希望进入jsp,然后他希望在DB中保存相同的数组。