Etiquetas implícitas
Un primer grupo de etiquetas proporciona funcionalidad a nivel de la página de una manera muy simple:
<jsp:forward>, redirige la request a otra URL
<jsp:include>, incluye el texto de un fichero dentro de la página
<jsp:plugin>, descarga un plugin de Java (una applet o un Bean).
Un segundo grupo permite manipular componentes JavaBean sin conocimientos de Java.
<jsp:useBean>, permite manipular un Bean (si no existe, se creará el Bean), especificando su ámbito (scope), la clase y el tipo.
<jsp:getProperty>, obtiene la propiedad especificada de un bean previamente declarado y la escribe en el objeto response.
<jsp:setProperty>, establece el valor de una propiedad de un bean previamente declarado.
Un Bean tiene un id, un scope y una class.
Consejo:
Para poder usar variables de una clase y mostrarlas primeramente invocamos la clase con un "id", después las variables que manejaremos se tienen que colocar en una variable que manejará el jsp y despues mostrarlos ya que el jsp no sabe manejar las variables de las clases, no sabe de qué tipo son. (aunque si ponemos un valor que no corresponde, un int a un String por ej. dará error.)
<jsp:useBean id="miCosa" scope="request" class="es.cea.Cosa"/>
<jsp:setProperty name="miCosa" property="propiedad1" value="hola"/>
<jsp:setProperty name="miCosa" property="propiedad2" value="40"/>
Propiedad1 de miCosa: <jsp:getProperty name="miCosa" property="propiedad1"/>
Para crear etiquetas con un cuerpo la clase java tiene que extender de la clase padre "BodyTagSupport" aunque se puede tranquilamente con el "TagSupport"
Ejercicios
Primer ejercicio:
Probar en "functions.jsp" todas los métodos posibles de "jsp:", mirando las apis de java.
Segundo ejercicio:
La página del formulario: que hayan inputs de tipo text, password, inputbutton, etc.
Hacer que haya herencia en los tags.
Proyecto 2
Retomamos el proyecto de la biblioteca para expandirlo con lo último que hemos dado.
- Crear menus
- Dividir el proyecto en distintos paquetes segun sus funcionalidades.
- Que haya solo una clase para la manipulación de datos, cuya interfaz se llamará DAO y que en un futuro se usará para manejar bases de datos.
Un ejemplo del último punto:
List lista = new ArrayList();
convertirlo a:
Dao dao = new DaoSimple();
o si accedieramos a una base de datos:
Dao dao = new DaoMySQL();
- Implementar logueo por consola
- Incluir pruebas
Eso es remarcando lo más importante, pero el guión del proyecto es:
El proyecto se desarrollará con las siguientes tecnologías
- Patrón de desarrollo MVC (Modelo Vista Controlador)
- Servlets: Listener, Filters, Servlets
- JSP
- JSTL (tags implicitos en JSP, tags de JSTL y tags personalizados)
- Pruebas
- Modularización de la vista con uso de la etiqueta jsp:include
- Paquetes separando aspectos/finalidades/roles de las clases java
- Aislamiento de acceso a datos en una sola clase con una interfaz
- Nomenclatura
- Características standars de proyecto web java.
MVC
Cojemos el proyecto mvc y lo abrimos en el Eclipse para ver un ejemplo simple el funcionamiento básico de un Modelo Vista Controlador.
No hay comentarios:
Publicar un comentario