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
Javascript 单击按钮时将ArrayList发送到其他页面_Javascript_Jsp_Button - Fatal编程技术网

Javascript 单击按钮时将ArrayList发送到其他页面

Javascript 单击按钮时将ArrayList发送到其他页面,javascript,jsp,button,Javascript,Jsp,Button,我想在单击按钮后将ArrayList发送到另一个页面 function gotosave(){ <% request.setAttribute("list", ar); request.getRequestDispatcher("savecard.jsp").forward(request,response); %> } <button type="submit" name="save" style="float:right;" class="btn btn-info"

我想在单击按钮后将ArrayList发送到另一个页面

function gotosave(){
<% 
request.setAttribute("list", ar);
request.getRequestDispatcher("savecard.jsp").forward(request,response);
%>
}

<button type="submit" name="save" style="float:right;" class="btn btn-info" 
 onclick="gotosave()">SAVE</button> 
函数gotosave(){
}
拯救
“ar”是我的数组列表


这是我在这里的第一个问题,如果我错过了正确的格式,那么请不要介意。

您试图在这里混合使用Java和JavaScript。这行不通。 在JSP(或任何类似的后端呈现技术)中,首先执行Java代码,然后浏览器呈现页面,然后才执行JavaScript代码

现在发生了什么: 首先执行此代码:

<% 
request.setAttribute("list", ar);
request.getRequestDispatcher("savecard.jsp").forward(request,response);
%>
如果你还没有被转发,当你点击按钮时,什么也不会发生

代码的另一个问题是转发到JSP,而不是servlet。特别是如果你想传递一些参数,那就不应该了

对于你的情况,我的建议是: 删除JS函数,并将所有内容包装成一个表单。然后指定此表单的操作,并将其指向您的servlet(或者JSP,如果您坚持的话)


拯救

好的,您可以通过两种方式实现此目标。一个是使用隐藏字段。这是一种传统而有效的方法

<input type="hidden" name="userId" value="<your array list>"> 

我试过了,但如何通过表单发送arraylist。我在arraylist中有数据,我想在单击按钮时发送列表。用户能否以某种方式更改此列表?如果“用户”是指最终用户,则为否。然后,您可以为其设置一个隐藏字段。更新了我的答案。
<form method = "POST" action = "./savecard.jsp"> 
   <input type = 'hidden' name = 'list' value = '${ar}' /> 
   <button type="submit" name="save" style="float:right;" class="btn btn-info">SAVE</button>  
</form>
<input type="hidden" name="userId" value="<your array list>"> 
session.setAttribute("arraylist", <your arraylist variable>);
int arraylist = session.getAttribute("arraylist");