Ver Mensaje Individual
  #7 (permalink)  
Antiguo 07/05/2009, 15:17
adg
 
Fecha de Ingreso: enero-2009
Mensajes: 60
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: correcto manejo de servlets

Perfecto, gracias a los 2.. este tipo de comentario es lo que necesito…con esto pretendo ir encontrando la forma correcta.
Elantonie lo que me habías explicado aquella vez me ha quedado bien claro...

Les voy a mostrar las partes mas importantes del código de las clases:

Cita:
//servlet “mostrarAlumnos”: muestra la lista de alumnos
ArrayList lista = alumnosBD.listaAlumnos();
for (int i = 0; i < lista.size(); i++)
{
alumnos alu = (alumnos) lista.get(i);
out.println("ID:" + alu.getIdAlumno());
out.println("nombre:" + alu.getNombre());
out.println("apellido:" + alu.getApellido());
out.println("<br /><a href=AMalumnos?accion=editar&id=" + alu.getIdAlumno() + ">editar</a>");
out.println("<br /><a href=accionesAlumnos?accion=eliminar&id=" + alu.getIdAlumno() + ">eliminar</a>");
}
luego cuando se presiona en el enlace “editar”, por get se llama al servlet AMalumnos
que genera la pagina para las Altas o Modificiones de alumnos
Cita:
//servlet AMalumnos
//DENTRO DEL METODO “doget”

alumnos alu = null;
String accion = request.getParameter("accion");
int id;
out.println("<form action='accionesAlumnos' method='post'>");
out.println("Nombre: <br />");

if (accion.equals("editar"))
{
out.println("<input name='accion' type='hidden' value='editar'>");
id = Integer.parseInt(request.getParameter("id"));
alu = bd.obtenerAlumno(id);
out.println("<input name='txtIdAlumno' type='hidden' value=" + alu.getIdAlumno() + ">");
out.println("<input name='txtNombre' type='text' value='" + alu.getNombre() + "'><br />");
out.println("Apellido: <br />");
out.println("<input name='txtApellido' type='text' value='" + alu.getApellido() + "'>");
}
else
{
if (accion.equals("agregar"))
{
out.println("<input name='accion' type='hidden' value='agregar'>");
out.println("<input name='txtNombre' type='text' value=''><br />");
out.println("Apellido: <br />");
out.println("<input name='txtApellido' type='text' value=''");
}

}
out.println("<br /><input name='btnGuardar' type='submit' value='Guardar' />");
}

}
en el código de arriba del servlet “AMalumnos” cuando se presiona el botón “guardar” se envían los datos por post al servlet “accionesAlumnos” que recibe los datos de AMalumnos…luego llama a la clase alumnosBD, para ejecutar en la BD la accion que corresponda
Cita:
//servlet “accionesAlumnos”
//DENTRO DEL METODO “donet”
String accion = request.getParameter("accion");
int id;
if (accion.equals("eliminar"))
{
id = Integer.parseInt(request.getParameter("id"));
alumnosBD.eliminarAlumno(id);
}

//DENTRO DEL METODO “dopost”
String accion = request.getParameter("accion");
alumnos alu;
if(accion.equals("agregar"))
{
alu = new alumnos(request.getParameter("txtApellido"), request.getParameter("txtNombre"));
alumnosBD.guardarAlumno(alu);
}
else
{
if(accion.equals("editar"))
{
int id = Integer.parseInt(request.getParameter("txtIdAlumno "));
alu = new alumnos(id, request.getParameter("txtNombre"), request.getParameter("txtApellido"));
alumnosBD.editarAlumno(alu);
}
}
Esta bien desarrollado o hay algo que puedo corregir de esto??…