我正在开发一个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页面上的这些数据是可能的。如果有可能,那怎么样?
答案 0 :(得分:1)
你可以在jsp中使用javascript但是它总是在客户端执行。因此,如果您想在浏览器中触发某些事件时保存一些内容,您可以通过进行ajax调用或表单提交来实现。 Ajax是首选方式,因为它为用户提供了更快更好的体验
但是如果你打算在服务器端执行不可能的javascript
答案 1 :(得分:0)
Java脚本客户端脚本,而jsp是服务器端脚本,因此您不能简单地执行此操作。
您可以做的是通过表单提交,使用URL参数或使用AJAX调用将计算的变量从javascript提交到服务器,然后您可以将其提供给服务器以存储在数据库中。
客户端:
<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
%>
答案 2 :(得分:0)
<!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>
在get.jsp中,您将能够从array
获取值:
<%
String []array = request.getParameter("array").split(",");
//this String array you can use to store data in DB
%>
答案 3 :(得分:0)
如果您有两个不同的jsp,请尝试此操作:
first.jsp
<script>
var response = [];
...
var put = function(form) {
form.resp.value = response.join(','); //using comma as separator
};
</script>
<form onsubmit='put(this)' method='next.jsp' method='post'>
<input type='hidden' name='resp' />
<button>Submit</button>
</form>
next.jsp
<%
String[] resp = request.getParameter("resp").split(",");
%>
Response is: ${param.resp} <!-- debugging -->