可以在JSP页面中获取Javascript数组吗
我正在开发一个web应用程序,其中我有一个JavaScript数组,我希望这个数组出现在我的JSP页面中,并对其进行迭代,将数据保存在数据库中可以在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
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中保存相同的数组。