【问题标题】:Sending arraylist from jsp to servlet on a button click单击按钮将arraylist从jsp发送到servlet
【发布时间】:2014-04-14 17:53:17
【问题描述】:

这是我的 jsp 页面。

jsp页面代码:-

<img src='image.jpg' height=200px width=200px>
<form action="buyserv">
<%
ArrayList al=new ArrayList();
al.add("naman");
al.add("gupta");
request.setAttribute("allproducts", al);
RequestDispatcher rd = request.getRequestDispatcher("/buyserv");
rd.forward(request, response);

%>
<input type="submit" value="Buy"></form> 
<a href="ShowAllProducts.jsp"><input type="button" value="Continue"></a> 

我希望在单击 Buy 按钮时,arraylist (al) 应该传递给 buyserv(servlet)。 但是列表正在传递给buyserv,但问题是没有显示jsp页面。但是我想显示jsp页面并在按钮单击时传递arraylist。 谁能告诉我该怎么做?

buyserv 代码:-

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws   
ServletException, IOException 
{
ArrayList al=(ArrayList)request.getAttribute("allproducts");
PrintWriter out=response.getWriter();
out.print(al.get(0));
}

【问题讨论】:

  • 为什么要将 硬编码 列表从 JSP 传递到 servlet?如果列表是硬编码的,它应该被硬编码在一个可供双方访问的类中。

标签: jsp servlets


【解决方案1】:

您可以通过以下方式将列表作为 String[] 传递:

<form action="buyserv">
<input type='text' name='list'  value='a' />
<input type='text' name='list'  value='b' />
<input type='text' name='list'  value='c' />
<input type="submit" value="Buy" />
</form> 

如果您不希望在表单上显示这些值,也可以使用 type='hidden'

在 servlet 中:

String[] values = request.getParameterValues("list");

如果您需要从列表中生成值,请使用循环:

<form action="buyserv">
<%
  String[] array = { "a", "b", "c" };
  for(int i=0; i<array.length; i++)
  {
    out.print("<input type='text' name='list'  value='" + array[i] + "' />");
  }
%>
<input type="submit" value="Buy" />
</form> 

【讨论】:

    猜你喜欢
    • 2017-09-17
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 2013-04-27
    • 2016-04-01
    • 1970-01-01
    相关资源
    最近更新 更多