Esta p�gina lee el libro correspondiente al ID que ha recibido. Luego muestra los campos del libro en una tabla para que podamos asegurarnos de que se va a borrar el libro correcto. En la parte inferior de la p�gina hay dos enlaces: uno para continuar con la solicitud de borrado del libro y otro para abortar la solicitud.
�Prop�sito de la P�gina Form_Borrar.jsp
El prop�sito de esta p�gina es producir una p�gina web con una tabla que muestre el libro que se va a borrar. El usuario podr�a continuar el proceso de borrado seleccionado un enlace a la p�gina Borrar.jsp o abortar el proceso seleccionando un enlace de vuelta a Index.jsp. La siguiente imagen muestra un ejemplo de la p�gina Form_Borrar.jsp:

�Aspecto de la P�gina Form_Borrar.jsp
Este c�digo HTML crea el aspecto de la p�gina con un enlace a Borrar.jsp etiquetado como "Borrar el Libro nnn" y un enlace a Index.jsp etiquetado como "Volver a la P�gina Inicial [el libro no se borrar�]", en la parte inferior de la p�gina:
<%@ page language="java" import="java.util.*, libreria.*" %> <html> <head> <title>Librer�a -- Borrando el Libro <%= request.getParameter ("id") %></title> </head> <body bgcolor="#ffffee"> <h1><center>Librer�a -- Borrando el Libro <%= request.getParameter ("id") %></center></h1> -- aqu� va el c�digo para recuperar los datos del libro a borrar -- <br> <center> <destacar><a href="Borrar.jsp?id=<%= libro.getId () %>">Borrar el libro <%= request.getParameter ("id") %></a></destacar> </center> <% } else { %> <center> <h2><font color="#cc0000">No se pudo encontrar el libro <%= request.getParameter ("id") %></font></h2> </center> <% } %> <hr> <center> <destacar><a href="Index.jsp">Volver a la P�gina Inicial [el libro no se borrar�]</a></destacar> </center> </body> </html>
Cuando se pulsa sobre el enlace "Borrar el Libro nnn" se le pasa el par�metro id al p�gina Borrar.jsp.
�Recuperar los Datos del libro a Borrar
Este c�digo Java recupera el ejemplar de libreria.LibrosBD almacenado en el atributo BaseDatos de la aplicaci�n web por libreria.ContextListener:
LibrosBD librosBD = (LibrosBD) application.getAttribute ("BaseDatos");
Luego obtiene de la base de datos el libro cuyo id se ha pasado como par�metro a esta p�gina desde Index.jsp:
Libro libro = (Libro) librosBD.getLibro (request.getParameter ("id")); if (libro != null){ -- aqu� va el c�digo para mostrar la tabla -- } else { %> <center> <h2><font color="#cc0000">No se pudo encontrar el libro <%= request.getParameter ("id") %></font></h2> </center> <% }
�Mostrar la Tabla
Este c�digo HTML mezclado con c�digo Java muestra la tabla; en la columna izquierda se muestran los nombres de los campos; la columna derecha contiene los datos del libro recuperados desde la base de datos:
<table align="center" cellpadding="2" cellspacing="2" border="1" width="80%" bgcolor="#dddddd"> <tr> <th>ISBN:</th> <td><input name="isbn" type="text" value="<%= libro.getIsbn () %>"></td> </tr> <tr> <th>Editorial:</th> <td><input name="editorial" type="text" value="<%= libro.getEditorial() %>"></td> </tr> <tr> <th>Autor:</th> <td><input name="autor" type="text" value="<%= libro.getAutor () %>"></td> </tr> <tr> <th>Categor�a:</th> <td><input name="categoria" type="text" value="<%= libro.getCategoria () %>"></td> </tr> <tr> <th>T�tulo:</th> <td><input name="titulo" type="text" value="<%= libro.getTitulo () %>"></td> </tr> <tr> <th>Ubicaci�n:</th> <td><input name="ubicacion" type="text" value="<%= libro.getUbicacion () %>"></td> </tr> </table>
�C�digo Completo de la P�gina Form_Borrar.jsp
<%@ page language="java" import="java.util.*, libreria.*" %> <html> <head> <title>Librer�a -- Borrando el Libro <%= request.getParameter ("id") %></title> </head> <body bgcolor="#ffffee"> <h1><center>Librer�a -- Borrando el Libro <%= request.getParameter ("id") %></center></h1> <% LibrosBD librosBD = (LibrosBD) application.getAttribute ("BaseDatos"); Libro libro = (Libro) librosBD.getLibro (request.getParameter ("id")); if (libro != null){ %> <table align="center" cellpadding="2" cellspacing="2" border="1" width="80%" bgcolor="#dddddd"> <tr> <th>ISBN:</th> <td><input name="isbn" type="text" value="<%= libro.getIsbn () %>"></td> </tr> <tr> <th>Editorial:</th> <td><input name="editorial" type="text" value="<%= libro.getEditorial() %>"></td> </tr> <tr> <th>Autor:</th> <td><input name="autor" type="text" value="<%= libro.getAutor () %>"></td> </tr> <tr> <th>Categor�a:</th> <td><input name="categoria" type="text" value="<%= libro.getCategoria () %>"></td> </tr> <tr> <th>T�tulo:</th> <td><input name="titulo" type="text" value="<%= libro.getTitulo () %>"></td> </tr> <tr> <th>Ubicaci�n:</th> <td><input name="ubicacion" type="text" value="<%= libro.getUbicacion () %>"></td> </tr> </table> <br> <center> <destacar><a href="Borrar.jsp?id=<%= libro.getId () %>">Borrar el libro <%= request.getParameter ("id") %></a></destacar> </center> <% } else { %> <center> <h2><font color="#cc0000">No se pudo encontrar el libro <%= request.getParameter ("id") %></font></h2> </center> <% } %> <hr> <center> <destacar><a href="Index.jsp">Volver a la P�gina Inicial [el libro no se borrar�]</a></destacar> </center> </body> </html>
�Borrar.jsp
Esta p�gina lee el libro cuyo id se le ha pasado. Luego muestra los datos del libro en una tabla, intenta borrar el libro de la base de datos, y muestra el �xito o el fracaso del intento.
�Prop�sito de la P�gina Borrar.jsp
El prop�sito de esta p�gina es producir una p�gina web con una tabla que muestra el libro cuyo par�metro id se ha pasado a esta p�gina desde Form_Borrar.jsp; realmente realiza la actualizaci�n en la base de datos; muestra si la base de datos se ha actualizado con �xito o no; y espera hasta que el usuario seleccione el enlace de vuelta a la p�gina Index.jsp. En la siguiente figura puedes ver un ejemplo de la p�gina Borrar.jsp:

�Crear el Aspecto de la P�gina Borrar.jsp
Este c�digo HTML genera el aspecto de la p�gina con un enlace a Index.jsp en la parte inferior de la p�gina:
<%@ page language="java" import="java.util.*, libreria.*" %> <html> <head> <title>Librer�a -- Borrando un Libro</title> </head> <body bgcolor="#ffffee"> <h1><center>Librer�a -- Borrando el Libro <%= request.getParameter ("id") %></center></h1> -- aqu� se recuperan los datos del libro a borrar -- -- aqu� se muestra la tabla de datos -- -- aqu� va el c�digo que actualiza la base de datos y se muestra el �xito o el fracaso de la operaci�n -- <hr> <center> <destacar><a href="Index.jsp">Volver a la P�gina Inicial</a></destacar> </center> </body> </html>
�Recuperar los Datos del libro a Borrar
Este c�digo Java recupera el ejemplar de libreria.LibrosBD almacenado en el atributo BaseDatos de la aplicaci�n web por libreria.ContextListener:
LibrosBD librosBD = (LibrosBD) application.getAttribute ("BaseDatos");
Luego obtiene de la base de datos el libro cuyo id se ha pasado como par�metro a esta p�gina desde Form_Borrar.jsp:
Libro libro = (Libro) librosBD.getLibro (request.getParameter ("id"));
�Mostar la Tabla
Este c�digo HTML mezclado con c�digo Java muestra la tabla; en la columna izquierda se muestran los nombres de los campos; la columna derecha contiene los datos del libro a borrar recuperados de la base de datos:
<table align="center" cellpadding="2" cellspacing="2" border="1" width="80%" bgcolor="#dddddd"> <tr> <th>ISBN:</th> <td><%= libro.getIsbn() %></td> </tr> <tr> <th>Editorial:</th> <td><%= libro.getEditorial() %></td> </tr> <tr> <th>Autor:</th> <td><%= libro.getAutor() %></td> </tr> <tr> <th>Categor�a:</th> <td><%= libro.getCategoria() %></td> </tr> <tr> <th>T�tulo:</th> <td><%= libro.getTitulo() %></td> </tr> <tr> <th>Ubicaci�n:</th> <td><%= libro.getUbicacion() %></td> </tr> </table>
�Actualizar la Base de Datos y Mostrar el �xito o el Fracaso
Este c�digo Java mezclado con c�digo HTML borra el libro cuyo par�metro id se le ha pasado como par�metro:
int rowsAffected = librosBD.borrarLibro (request.getParameter ("id"));
Si s�lo se ve afectada una fila en la actualizaci�n de la base de datos se muestra en verde el mensaje "Se ha borrado el libro nnn"; si no es as�, se muestra en rojo el mensaje "No se pudo borrar el libro nnn":
if (rowsAffected == 1) { %> <center> <h2><font color="#00cc00">Se ha Borrado el Libro <%= request.getParameter ("id") %></font></h2> </center> <% } else { %> <center> <h2><font color="#cc0000">No se pudo borrar el libro <%= request.getParameter ("id") %></font></h2> </center> <% }
�C�digo Completo de la P�gina Borrar.jsp
<%@ page language="java" import="java.util.*, libreria.*" %> <html> <head> <title>Librer�a -- Borrando un Libro</title> </head> <body bgcolor="#ffffee"> <h1><center>Librer�a -- Borrando el Libro <%= request.getParameter ("id") %></center></h1> <% LibrosBD librosBD = (LibrosBD) application.getAttribute ("BaseDatos"); Libro libro = (Libro) librosBD.getLibro (request.getParameter ("id")); if (libro != null){ %> <table align="center" cellpadding="2" cellspacing="2" border="1" width="80%" bgcolor="#dddddd"> <tr> <th>ISBN:</th> <td><%= libro.getIsbn() %></td> </tr> <tr> <th>Editorial:</th> <td><%= libro.getEditorial() %></td> </tr> <tr> <th>Autor:</th> <td><%= libro.getAutor() %></td> </tr> <tr> <th>Categor�a:</th> <td><%= libro.getCategoria() %></td> </tr> <tr> <th>T�tulo:</th> <td><%= libro.getTitulo() %></td> </tr> <tr> <th>Ubicaci�n:</th> <td><%= libro.getUbicacion() %></td> </tr> </table> <% int rowsAffected = librosBD.borrarLibro (request.getParameter ("id")); if (rowsAffected == 1) { %> <center> <h2><font color="#00cc00">Se ha borrado el libro <%= request.getParameter ("id") %></font></h2> </center> <% } else { %> <center> <h2><font color="#cc0000">No se pudo borrar el libro <%= request.getParameter ("id") %></font></h2> </center> <% } } else { %> <center> <h2><font color="#cc0000">No se encontr� el libro <%= request.getParameter ("id") %></font></h2> </center> <% } %> <hr> <center> <destacar><a href="Index.jsp">Volver a la P�gina Inicial</a></destacar> </center> </body> </html>