Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/08/2015, 11:01
gemelo_j
 
Fecha de Ingreso: agosto-2015
Mensajes: 2
Antigüedad: 8 años, 8 meses
Puntos: 0
ArrayList se vacía

Hola a tod@s!!
tengo un problema al utilizar ArrayList. Concretamente, se vacía cuando intento agregar un elemento nuevo desde otra clase.
En mi caso, estoy utilizando servlets. Es un ejemplo básico.
Tengo un formulario en index.html donde inserto nombres.
Los capturo con request.getParameter y luego los inserto en un arrayList. Hasta ahí bien.
Ahora tengo un enlace a otra web ("borrar.html") para borrar un array de la lista pero no ve el array. Siempre está vacío. Lo mismo sucede cuando intento agregar nombres.

//Nombres.java


import java.util.ArrayList;
import java.util.Iterator;

public class Nombres
{
public ArrayList<String>nombres=null;

public Nombres()
{
nombres= new ArrayList<String>();
}

void guardarNombre(String name)
{
nombres.add(name);
}

void borrarNombre(String name)
{
nombres.remove(name);
}

void mostrarNombres()
{
Iterator it = nombres.iterator();
while(it.hasNext())
System.out.println(it.next());

}
void agrega()
{
nombres.add("jose");
nombres.add("mateo");
nombres.add("ana");

}

}

//index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Formulario Login2</title>
</head>
<body>
<form action="Login3" method="post">
<b3>Nombre <input type="text" name="nombre">

<input type="submit" name="Enviar">
</form>
</body>
</html>

//Login3.java


import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;



/**
* Servlet implementation class Login3
*/
@WebServlet("/Login3")
public class Login3 extends HttpServlet {
private static final long serialVersionUID = 1L;



/**
* @see HttpServlet#HttpServlet()
*/
public Login3()
{

super();

}




protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//request.getSession();

Nombres n = new Nombres();

String log;
log = request.getParameter("nombre");


n.guardarNombre(log);
System.out.println("LISTADO DE NOMBRES EN EL ARRAY:");
System.out.println(n.nombres);
System.out.println("agrega usuarios 3 de agrega():");
n.agrega();
System.out.println(n.nombres);




PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<BODY>");
out.println("BIENVENIDO");
out.println("<br>");
out.println("El nombre es: "+log);
out.println("<br>");


out.println(" <A href=\"./index.html\">INICIO...</A>");
out.println("AGREGAR:");
out.println(" <A href=\"./borrar.html\">BORRAR USUARIOS...</A>");


out.println("</BODY>");
out.println("</HTML>");
}

}

//Borrar.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Usuario Nuevo</title>
</head>
<body>
<form action="Borrar" method="POST">
Nombre:<input name="nombre"> <br/>

<input type="submit" value="Enviar">
</form>
</body>
</html>

//Borrar.java
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
* Servlet implementation class Borrar
*/
@WebServlet("/Borrar")
public class Borrar extends HttpServlet {
private static final long serialVersionUID = 1L;



/**
* @see HttpServlet#HttpServlet()
*/
public Borrar() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub

Nombres n = new Nombres();

String name = request.getParameter("nombre");

n.borrarNombre(name);
System.out.println("Listado de nombres:");
n.mostrarNombres();



PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<BODY>");
out.println("NUEVO");
out.println("<br>");
out.println("El login para borrar es: "+name);
out.println("<br>");

out.println(" <A href=\"./index.html\">INICIO...</A>");

out.println("</BODY>");
out.println("</HTML>");
}

}

Última edición por gemelo_j; 21/08/2015 a las 11:10