将请求参数发送到同一个页面和同一个 servlet
sending request parameters to the same page and same servlet
所以,我想从下拉列表中获取值并将它们添加到 ArrayList 以便稍后我可以显示它,但我不知道该怎么做?
基本上当用户按下下一个(发送)按钮时,servlet 应该获取值参数,并将其存储到 arraylist 中供以后使用,并且它们应该被引导回表单页面以便它们可以更多选择或通过按完成(列表)按钮查看他们选择了哪些选项
Servlet(水果 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
}
}
在您的 servlet 中,您可以使用 session 在数组中设置您的值,这样,该值将一直保存,直到您将其从 session.Your 代码中删除,如下所示:
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
}
}
所以,我想从下拉列表中获取值并将它们添加到 ArrayList 以便稍后我可以显示它,但我不知道该怎么做?
基本上当用户按下下一个(发送)按钮时,servlet 应该获取值参数,并将其存储到 arraylist 中供以后使用,并且它们应该被引导回表单页面以便它们可以更多选择或通过按完成(列表)按钮查看他们选择了哪些选项
Servlet(水果 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
}
}
在您的 servlet 中,您可以使用 session 在数组中设置您的值,这样,该值将一直保存,直到您将其从 session.Your 代码中删除,如下所示:
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
}
}