【发布时间】:2021-08-03 01:51:28
【问题描述】:
这个项目的目的是从 arrayLists 中移动对象,并擦除它们。 我在 servlet 上创建了三个 arrayList,这些 arrayList 是我想要使用的,我已经知道如何在 JSP 页面中显示它们,以及如何移动和擦除它们,但我的问题是我希望能够检索 arrayList 对象的当前状态,因为我想要做的元素以及移动和擦除是通过我创建的一些按钮。 因此,我尝试在引用 jsp servlet 的表单中创建按钮,但是当我按下按钮时不显示任何内容,我使用 System.out.println() 来恢复值,从JSP,但我什么也没得到。
这是 servlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
// response.getWriter().append("Served at: ").append(request.getContextPath());
System.out.println("Dentro Servlet");
String borrar = request.getParameter("borrar");
String btn1 = request.getParameter("button1");
System.out.println("El btn1 devuelve: " + btn1);
ArrayList<ObjetosArreglo> personas = new ArrayList<ObjetosArreglo>();
personas.add(new ObjetosArreglo("Cesar"));
personas.add(new ObjetosArreglo("Miguel"));
personas.add(new ObjetosArreglo("Chavez"));
personas.add(new ObjetosArreglo("Linares"));
personas.add(new ObjetosArreglo("TATAMASTER"));
ArrayList<ObjetosArreglo> mascotas = new ArrayList<ObjetosArreglo>();
mascotas.add(new ObjetosArreglo("Clifford"));
mascotas.add(new ObjetosArreglo("Chuzo"));
mascotas.add(new ObjetosArreglo("Hoshi"));
mascotas.add(new ObjetosArreglo("Persian"));
mascotas.add(new ObjetosArreglo("Bebeto"));
ArrayList<ObjetosArreglo> comidas = new ArrayList<ObjetosArreglo>();
comidas.add(new ObjetosArreglo("Carne"));
comidas.add(new ObjetosArreglo("Queso"));
comidas.add(new ObjetosArreglo("Yogur"));
comidas.add(new ObjetosArreglo("Pan dulce"));
comidas.add(new ObjetosArreglo("Pasta"));
if ("1".equals(borrar)) {
MetodosUtiles.borrarElemento(personas, 1);
}
if (request.getParameter("button1")!= null) {
System.out.println("Button 1"+request.getParameter("button1"));
MetodosUtiles.borrarPriElemento(personas);
}else if (request.getParameter("button2")!=null) {
MetodosUtiles.moverUltPriElemento(personas, comidas);
} else if (request.getParameter("button3")!= null) {
MetodosUtiles.moverPriElemento(comidas, mascotas);
}
request.setAttribute("ArrayCom", comidas);
request.setAttribute("ArrayMasc", mascotas);
request.setAttribute("ArrayPer", personas);
request.getRequestDispatcher("index.jsp").forward(request, response);
}
这是方法类:
public static void moverUltElemento(ArrayList elem1, ArrayList elem2) {
//Copiar último Elemento de un ArrayList a otro.
elem2.add(elem1.get(elem1.size() - 1));
elem1.remove(elem1.size() - 1);
}
public static void moverUltPriElemento(ArrayList elem1, ArrayList elem2) {
//Copiar último Elemento de un ArrayList a otro.
elem2.add(0, elem1.get(elem1.size() - 1));
elem1.remove(elem1.size() - 1);
}
public static void moverPriElemento(ArrayList elem1, ArrayList elem2) {
//mover primer elemento al array de abajo
elem1.add(0, elem2.get(0));
elem2.remove(elem2.get(0));
}
// Borrar elemento
public static void borrarElemento(ArrayList elem1, int index) {
elem1.remove(elem1.get(index));
}
// Eliminar último elemento del ArrayList
public static void borrarUltElemento(ArrayList elem1) {
elem1.remove(elem1.size() - 1);
System.out.println("ArrayList sin el último elemento: " + elem1);
}
// Eliminar primer elemento del ArrayList
public static void borrarPriElemento(ArrayList elem1) {
elem1.remove(0);
System.out.println(elem1);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
这就是 JSP:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Ejercicio Arreglos JSP</title>
</head>
<body>
<%@page import="java.util.ArrayList"%>
<%--Importing all the dependent classes--%>
<%@page import="clase.ObjetosArreglo"%>
<%@page import="java.util.Iterator"%>
<!-- Arreglo Personas -->
<%
ArrayList<ObjetosArreglo> personasList = (ArrayList) request.getAttribute("ArrayPer");
%>
<%--Assigning ArrayList object containing Employee data to the local object --%>
<strong> <a href="<%=request.getContextPath()%>/arrays">Mostrar
Datos</a> <br> <a
href="<%=request.getContextPath()%>/arrays?borrar=1">Borrar Datos</a>
</strong>
<form action="arrays" method="post">
<input type="button" name="button1" value="Button 1" />
<input type="submit" name="button2" value="Button 2" />
<input type="submit" name="button3" value="Button 3" />
</form>
<br></br>
<div style="text-align: center;">
<table cellspacing="2" cellpadding="2">
<tr>
<%
// Iterating through subjectList
ArrayList<ObjetosArreglo> arre = (ArrayList) request.getAttribute("ArrayPer");
if (arre != null) // Null check for the object
{
for (ObjetosArreglo iter : arre) {
%>
<td><pre><%=iter.getNombre()%> </pre></td>
<%
}
%>
</tr>
<%
}
%>
<!-- Arreglo Mascotas -->
<%
ArrayList<ObjetosArreglo> mascotasList = (ArrayList) request.getAttribute("ArrayMasc");
%>
<%--Assigning ArrayList object containing Employee data to the local object --%>
<tr>
<%
// Iterating through subjectList
ArrayList<ObjetosArreglo> arre1 = (ArrayList) request.getAttribute("ArrayMasc");
if (arre1 != null) // Null check for the object
{
for (ObjetosArreglo iter : arre1) {
%>
<td><pre><%=iter.getNombre()%> </pre></td>
<%
}
%>
</tr>
<%
}
%>
<!-- Arreglo Mascotas -->
<%
ArrayList<ObjetosArreglo> comidasList = (ArrayList) request.getAttribute("ArrayCom");
%>
<%--Assigning ArrayList object containing Employee data to the local object --%>
<tr>
<%
// Iterating through subjectList
ArrayList<ObjetosArreglo> arre2 = (ArrayList) request.getAttribute("ArrayCom");
if (arre2 != null) // Null check for the object
{
for (ObjetosArreglo iter : arre2) {
%>
<td><pre><%=iter.getNombre()%> </pre></td>
<%
}
%>
</tr>
<%
}
%>
</table>
</div>
</body>
</html>
【问题讨论】: