这是我的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>
我希望点击“购买”按钮,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));
}
答案 0 :(得分: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>