sending request parameters to the same page and same servlet

Mas_T :

so, I'm trying to get the values from the drop-down list and add them to an ArrayList so that later I can display it, but I don't know how to do it?

basically when the user presses the next(send) button, the servlet should take the values parameter, and store it into the arraylist for later use, and they should be directed back to the form page so that they can make more selections or see which options they've selected by pressing the done(list) button

Servlet (fruits servlet)

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        response.setContentType("text/html;charset=UTF-8");

            String wasSent = request.getParameter("send");
            String Submitted = request.getParameter("list");
            ArrayList<Double> fruitsList = new ArrayList<Double>();


            if (wasSent != null) {
                String fruits = request.getParameter("Values");
                fruitsList.add(fruits);
                request.setAttribute("List", fruitsList);
                RequestDispatcher rs = request.getRequestDispatcher("form.html");
                rs.forward(request, response);

            } else if (Submitted != null) {

                //get the list and display all the values
            }

        }
Swati :

In your servlet you can use session to set your value in array so, that value will be save until you remove it from the session.Your code will somewhat look like below :

 protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        response.setContentType("text/html;charset=UTF-8");

           String fruits = request.getParameter("Values");
            ArrayList<String> fruitsList1 = new ArrayList<String>();
           //get values which are in session
            ArrayList<String> fruitsList = (ArrayList<String>)request.getSession().getAttribute("List");

              //if attribute value is not null 
            if (fruitsList != null) {
               //add new values
                fruitsList.add(fruits);
                request.getSession().setAttribute("List", fruitsList);
                RequestDispatcher rs = request.getRequestDispatcher("form.html");
                rs.forward(request, response);

            } else if (fruitsList== null) {
               //adding value selected in array list
                fruitsList1.add(fruits);
                 //setting values
                request.getSession().setAttribute("List", fruitsList1);
                RequestDispatcher rs = request.getRequestDispatcher("form.html");
                rs.forward(request, response);
            } else{

             //remove values 
         }

        }

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=357048&siteId=1