Servlets y JSP
 

Ejercicios de JSTL

Registro de usuarios con JSTL (1 punto)

Una vez tengamos la aplicación configurada, construiremos dos páginas:

  • Una página form_registro.jsp que contendrá un formulario con los siguientes campos de texto:
    • nombre: con el nombre del usuario
    • mail: con su correo electrónico
    • login: nick que utilizará para entrar a la aplicación
    • password: con la contraseña para validarlo
    • telefono: con el número de teléfono
    • Además, la página mostrará la fecha actual (sólo en el momento de cargar la página), utilizando la librería de internacionalización de JSTL (fmt). Para ello, primero creamos un bean de tipo java.util.Date, que tomará la fecha actual:

      <jsp:useBean id="fechaActual" class="java.util.Date"/>

      Después, damos formato a dicha fecha con la etiqueta formatDate de la librería fmt, pasándole como variable el bean anterior, y poniendo en pattern la cadena necesaria para mostrar día/mes/año hora:minuto:segundo. Deberemos incluir la directiva taglib al principio de esta página, para poder usar la librería fmt:

      <%@ taglib uri="http://java.sun.com/jstl/ea/fmt" prefix="fmt" %>
      ...
      <fmt:formatDate var="fechaFormat" value="${fechaActual}" pattern="..."/>
      ...
      ${fechaFormat}
  • El formulario anterior tendrá un botón de submit que nos enviará a una página registro.jsp, que se encargará de introducir los datos del usuario en la base de datos, tomándolos de los parámetros de la petición (podemos utilizar para ello el lenguaje de expresiones de JSTL), e introduciéndolos en la base de datos (utilizando sql)

La aplicación mostrará un mensaje indicando si los datos se han introducido correctamente, o ha habido algún error. Podemos utilizar el tag if o choose de la librería core para comprobar si lo que devuelve la inserción (que podemos guardarlo en una variable desde el tag update) es lo correcto o no.

<%@ taglib uri="http://java.sun.com/jstl/ea/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/ea/sql" prefix="sql" %>

...

<sql:setDataSource url="..." driver="..." .../>

<sql:update var="upd1" dataSource="${miDataSource}">
	INSERT INTO usuarios(nombre, email...) VALUES (?,? ...)
	<sql:param value="${param.nombre}"/>
	<sql:param value="${param.email}"/>
	...
</sql:update>

Para comprobar si la inserción es correcta o no, podéis ver si la variable upd1 donde se guarda la inserción es mayor que 0 (lo que indicaría que hay filas afectadas) o es 0 (que indicaría que no se ha insertado nada). Se deja como optativo el comprobar antes de insertar si existe el nombre del usuario en la tabla.

Listado de usuarios y otras mejoras con JSTL (2 puntos)

Sobre lo anterior, realizar una página listado.jsp que muestre un listado con los usuarios actualmente registrados.

Para cada usuario, hacer que permita eliminarlo de la lista (se borrarían sus datos de la base de datos), o modificar sus datos (mostrando en otra página un formulario con sus datos para editarlos).