Mantenimiento de una tabla en Oracle con Java y JSP – 15/15 – Crear una pagina JSP con un formulario.

Capa BD
01. Crear una BD en Oracle.
02. Crear una Tabla con clave primaria.
03. Crear un secuenciador.
04. Implementar sentencias para mantenimiento de la tabla.
05. Crear un package en la BD.
06. Crear un SP con un cursor como parametro de salida.
07. Crear un SP para devolver nombres similares de un campo.

Applicacion Web
08. Crear Un proyecto Web en Java.

Capa modelo
09. Crear Una clase Entidad (una clase simple).
10. Obtener una Conexión hacia la BD.
11. Crear un Statement simple.
12. Crear un PreparedStatement con parametros.
13. Crear un CallableStatement con un cursor como parametro de salida.

Capa Controlador
14. Crear un Servlet Controlador.

Capa Vista
15. Crear una pagina JSP con un formulario.

Anexos
01. Cadena de conexión.
02. Interface connection.
03. Clase OracleDataSource.
04. SQLException.
05. try – catch.
06. RequestDispatcher.

Crear una pagina JSP con un formulario

 

Como se hace

En Netbeans

Crear la pagina jsp

Clic derecho en el Web Pages ->New->JSP
Se abrira la ventana “New JSP File”
Poner el File name : linea
En Folder dejar tal cual.
En “Created File” se va mostrando la ruta del archivo a crear.
En Option dejar en “JSP File (Standard Syntax)”
Dar clic en Finish

Abrir el archivo que contendra algo parecido al sgte codigo :

<%--     Document   : linea     Created on : 14/09/2012, 04:21:38 PM     Author     : george --%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
<h1>Hello World!</h1>
</body>
</html>

De forma manual

En el explorador o en Linea de comandos ir al directorio web y crear el archivo : linea.jsp.

Codigo para linea.jsp


<%@page import="java.io.IOException"%>
<%@page import="java.util.Iterator"%>
<%@page import="java.util.List"%>
<%!    String idLinea = "";     String nombre = "";     String estado = "";     String oper = "1";     String filtro = ""; %>

<%!    public void mostrarDatosLista(JspWriter out, List<String[]> rsLista) throws IOException {
        int nroCols = 0;
        if (rsLista != null && rsLista.size() > 0) {
            for (int i = 0; i < rsLista.size(); i++) {
                if (rsLista.get(i) != null) {
                    nroCols = rsLista.get(i).length;
                    //Por cada fila se crea una tr nueva

                    if (i % 2 == 0) {
                        out.print("
<tr>");
                    } else {
                        out.print("
<tr class="odd">");
                    }
                    String urlItem1 = "<a href="/FastStore2/linea?idLinea=" + rsLista.get(i)[0] + "&nombre=" + rsLista.get(i)[1] + "&estado=" + rsLista.get(i)[2] + "&oper=2" + "">";

                    for (int j = 0; j < nroCols; j++) {
                        out.print("
<td>");
                        switch (j) {
                            case 0:
                                out.print("<input type="checkbox" name="selecc""+rsLista.get(i)[j] + "/>");
                                break;
                            case 1:
                                out.print(urlItem1 + rsLista.get(i)[j] + "</a>");
                                break;
                            default:
                                out.print(rsLista.get(i)[j]);
                        }
                        out.print("</td>
");
                    }
                }
                out.print("</tr>
");
            }

        } else {
            out.println("
<tr>
<td colspan="3">El estado de la conexion a la BD NO es OK &#092</td>
</tr>
");
        }
    }
%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Mantenimiento de Lineas</title>
    </head>
    <body>

        <%if (request.getMethod().equals("GET")) {                 String idLinea = "";                 String nombre = "";                 String estado = "";                 String oper = "1";                 if (request.getParameter("idLinea") != null) {                     idLinea = request.getParameter("idLinea").toString();                     nombre = request.getParameter("nombre").toString();                     estado = request.getParameter("estado").toString();                     oper = request.getParameter("oper").toString();                 }         %>
<form action="linea" method="POST">
            <input type="hidden" name="idLinea" value="<%=idLinea%>" >
            Nombre : <input type="text" name="nombre" value="<%=nombre%>">
            Estado : <input type="text" name="estado" value="<%=estado%>">

            <input type="hidden" name="oper" value="<%=oper%>">
            Buscar : <input type="text" name="filtro">

            <input type="Submit" name="nuevo" value="Nuevo" >
                   <input type="Submit" name="guardar" value="Guardar" id="idguardar">
                   <input type="Submit" name="buscar" value="Buscar" >
</form>

        <%
            List<String[]> rsLista = (List<String[]>) request.getAttribute("rsLinea");
        %>
<table>
<tr>
<td><a href="/FastStore2/linea"> Nuevo</a></td>
<td><a href="/linea">Guardar</a></td>
</tr>
</table>
<table>
<th>*</th>
<th>Descripcion</th>
<th>Estado</th>
<%                 mostrarDatosLista(out, rsLista);             %></table>
<%} else {%>
<form action="linea" method="POST">
            <input type="hidden" name="idLinea">
            Nombre : <input type="text" name="nombre">
            Estado : <input type="text" name="estado">

            <input type="hidden" name="oper" value="1">
            Buscar : <input type="text" name="filtro" value="<%=request.getParameter("filtro").toString()%>">

            <input type="Submit" name="nuevo" value="Nuevo">
            <input type="Submit" name="guardar" id="idguardar" value="Guardar">
            <input type="Submit" name="buscar" value="Buscar">
        </form>

        <% List<String[]> rsLista = (List<String[]>) request.getAttribute("rsLinea");
        %>
<table>
<th>*</th>
<th>Descripcion</th>
<th>Estado</th>
<%                 mostrarDatosLista(out, rsLista);             %></table>
<%             }         %>
    </body>
</html>

Usar un RequestDispatcher para redireccionar un HttpServletRequest

//Agregar despues de los setAttribute
RequestDispatcher view = request.getRequestDispatcher("linea.jsp");
view.forward(request, response);

Accediendo a la pagina linea.jsp

PaginaLinea

Como funciona :

 
Practicamente esta pagina es la misma que index, solo que tambien procesa peticiones hechas con el metodo GET.
Otro cambio es hecho en el metodo mostrarDatosLista, que creara las filas y les pondra un check y URL a cada una, de esta forma si se hace clic en el enlace de un item, este se mostrara en el formulario, listo para modificarlo.

Usar un RequestDispatcher para redireccionar un HttpServletRequest

Por ahora todos las operaciones se estan haciendo desde y hacia la pagina index.jsp. Esta implementacion es correcta, pero si queremos darle algo de orden y relacionar cada pagina con un proceso o entidad del sistema debemos poder redireccionar el resultado hacia cada una de ellas.

Se invoca al metodo RequestDispatcher con el argumento “linea.jsp” y se asigna al objeto view. Luego se usa el metodo fordward de RequestDispatcher para ejecutar la redirección.

Accediendo a la pagina linea.jsp

En el browser ingresar la sgte. dirección : http://localhost:8084/FastStore2/linea, donde el ultimo valor del URL es linea el que hace referencia al Servlet CtrLinea.
Una vez que hemos accedido a esta pagina se ha pulsado en el item “Gasas termicas” de la lista, luego de lo cual las cajas de texto se han actualizado con los valores del item.
Notar en la direccion de la pagina los parametros enviados con el metodo GET, idLinea, nombre, estado y oper.

http://localhost:8084/FastStore2/linea?idLinea=8&nombre=Gasas termicas&estado=1&oper=2

En la parte inferior , en la barra de estado, de esta pagina tambien se puede apreciar el valor del URL del item “Suero azul” cuando se pasa el mouse sobre él.

Atte : George

 

Ver tambien :

 
Tecnologías de Servidor con Java: Servlets, Javabeans, JSP, Angel Esteban.

Anuncios

Un comentario en “Mantenimiento de una tabla en Oracle con Java y JSP – 15/15 – Crear una pagina JSP con un formulario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s