Manual de java
ESCUELA DE INFORMÁTICA
Nombre: Vanessa Morocho
Curso: 4to “A”
Los JavaBeans
En otro capítulo hemos visto lo que es un JavaBean. Existen diferentes tipos de JavaBean, la primera especificación (JavaBean gráfico) hacía referencia a componentes reusables para la construcción de interfaces gráficos de aplicaciones y applets. En la arquitectura J2EE este tipo de JavaBean notiene sentido (por ahora) dentro de la capa Web (Servlets/JSP).
Pero existen otros tipos de JavaBeans que representan las entidades y reglas del negocio. No hay que verlas como un oscuro misterio de la tecnología J2EE, simplemente son clases Java reutilizables que representan elementos del dominio.
JavaBeans en JSP
Para instanciar las clases del API de Java no hay más que utilizar elviejo operador new. Pero las clases que representan entidades y reglas de negocio se llaman JavaBeans y exigen unas etiquetas específicas:
<jsp:usebean id="id_del_objeto" scope="page | request | session | application" class="paquete...subpaquete.clase.class" beanName="nombre_del_bean"/>
El id es un nombre identificativo, seleccionado por el programador. Además debemos declarar su alcance oámbito (scope). Un alcance "request" implica que el bean es accesible hasta otra JSP que haya sido invocada por medio de jsp:forwar o jsp:include. El beanName es opcional, sigue la lógica Java de paquete.subpaquete y se utiliza si se usa el método instantiate() de java.beans.Beans. En nuestro ejemplo:
<jsp:useBean id="general" scope="page"class="docen_jsp.persona" />
De esta sencilla línea se puede deducir que al menos debemos definir en el JavaBean el constructor vacío, que es el que utiliza el motor JSP en la creación del objeto.
Existe una segunda sintaxis:
<jsp:usebean id="id_del_objeto" scope="page | request | session | application" class="paquete...subpaquete.clase.class" beanName="nombre_del_bean">
Instrucciones </jsp:useBean>
En este caso se ejecutan las instrucciones si el bean es instanciado. Dichas instrucciones pueden ser cualquier contenido JSP, aunque normalmente consiste en Scriptlets y acciones setProperty.
JavaBean de ejemplo
Los métodos setXXX() y getXXX() son puramente convencionales, podríamos haberlos llamado defXXX() y obtXXX(), sin embargo es conveniente usar los métodos setXXX() y getXXX() parapropiciar la interoperabilidad e integración con software de otros fabricante. Además esto facilita el uso de acciones setProperty y getProperty, como luego veremos. En nuestro caso hemos puesto el bean en WEB-INF/classes:
public class persona {
private String nombre;
private int edad;public persona() { }
public persona( String nombre, int edad ) {
this.nombre = nombre;
this.edad = edad;
}
public String getNombre() { return nombre; }
public int getEdad() { return edad; }
public void setNombre( Stringnombre ) { this.nombre = nombre; }
public void setEdad( int edad ) { this.edad = edad; }
}
Aunque no ha sido necesario en este ejemplo, los JavaBean deben ser serializables (o heredar de una clase serializables), si es que queremos usar la serialización de objetos.
La primera página
La página es sencilla, instancia la clase en la línea jsp:usebean yluego la utiliza
<html>
...
<jsp:useBean id="general" scope="page" class="docen_jsp.persona" />
<%
general.setNombre( "Fernando Gonzalez de Cordoba");
general.setEdad( 37 );
%>
<p>Hemos...
Regístrate para leer el documento completo.