我在doPost方法中声明了一个arraylist,并将其传递给另一个servlet页面。问题是arraylist包含每个新请求的旧值。
我在这里提供代码
public void doPost(HttpServletRequest reqst,HttpServletResponse res)
{
ArrayList<String> tabledata=new ArrayList<String>();
Calculation(tabledata); //Which adds some strings to the tabledata
HttpSession hs=reqst.getSession();
hs.setAttribute("tabledata",tabledata);
res.sendRedirect("nextpage")// redirecting to another servlet page
}
我希望arraylist只包含当前的请求数据。但它也存储了所有先前请求的数据。
答案 0 :(得分:0)
您可以将此数据存储在请求而非会话中,然后转发而不是重定向。
public void doPost(HttpServletRequest reqst,HttpServletResponse res)
{
ArrayList<String> tabledata=new ArrayList<String>();
Calculation(tabledata); //Which adds some strings to the tabledata
reqst.setAttribute("tabledata",tabledata);
request.getServletContext().getRequestDispatcher("nextpage").forward(request, response);
}