отправка параметров запроса на ту же страницу и тот же сервлет - PullRequest
1 голос
/ 27 января 2020

Итак, я пытаюсь получить значения из выпадающего списка и добавить их в ArrayList, чтобы позже я мог отобразить его, но я не знаю, как это сделать?

в основном, когда пользователь нажимает следующую кнопку (отправить), сервлет должен принять параметр values ​​и сохранить его в массиве данных для последующего использования, и они должны быть перенаправлены обратно на страницу формы, чтобы они могли делать больше выбора или видеть, какие параметры, которые они выбрали, нажав кнопку «Готово» (список)

Сервлет (фруктовый сервлет)

    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
            }

        }

1 Ответ

0 голосов
/ 28 января 2020

В вашем сервлете вы можете использовать сеанс , чтобы установить ваше значение в массиве так, чтобы это значение сохранялось до тех пор, пока вы не удалите его из сеанса. Ваш код будет выглядеть примерно так:

 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 
         }

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...