JSP - JavaBeans

Un JavaBean es una clase de Java especialmente construida escrita en Java y codificada de acuerdo con las especificaciones de la API de JavaBeans.

A continuación se presentan las características únicas que distinguen a un JavaBean de otras clases de Java:

  • Proporciona un constructor predeterminado sin argumentos.

  • Debe ser serializable y lo que puede implementar el Serializable interfaz.

  • Puede tener varias propiedades que se pueden leer o escribir.

  • Puede tener varios "getter"y"setter"métodos para las propiedades.

Propiedades de JavaBeans

Una propiedad de JavaBean es un atributo con nombre al que puede acceder el usuario del objeto. El atributo puede ser de cualquier tipo de datos Java, incluidas las clases que defina.

Una propiedad JavaBean puede ser read, write, read onlyo write only. Se accede a las propiedades de JavaBean a través de dos métodos en la clase de implementación de JavaBean:

S.No. Método y descripción
1

obtenerPropertyName()

Por ejemplo, si el nombre de la propiedad es firstName , el nombre de su método seríagetFirstName()para leer esa propiedad. Este método se llama acceso.

2

conjuntoPropertyName()

Por ejemplo, si el nombre de la propiedad es firstName , el nombre de su método seríasetFirstName()escribir esa propiedad. Este método se llama mutador.

Un atributo de solo lectura tendrá solo un getPropertyName() método, y un atributo de solo escritura tendrá solo un setPropertyName() método.

Ejemplo de JavaBeans

Considere una clase de estudiantes con pocas propiedades:

package com.tutorialspoint;

public class StudentsBean implements java.io.Serializable {
   private String firstName = null;
   private String lastName = null;
   private int age = 0;

   public StudentsBean() {
   }
   public String getFirstName(){
      return firstName;
   }
   public String getLastName(){
      return lastName;
   }
   public int getAge(){
      return age;
   }
   public void setFirstName(String firstName){
      this.firstName = firstName;
   }
   public void setLastName(String lastName){
      this.lastName = lastName;
   }
   public void setAge(Integer age){
      this.age = age;
   }
}

Accediendo a JavaBeans

los useBeanaction declara un JavaBean para su uso en una JSP. Una vez declarado, el bean se convierte en una variable de secuencia de comandos a la que se puede acceder mediante elementos de secuencia de comandos y otras etiquetas personalizadas utilizadas en el JSP. La sintaxis completa de la etiqueta useBean es la siguiente:

<jsp:useBean id = "bean's name" scope = "bean's scope" typeSpec/>

Aquí los valores para el atributo de alcance pueden ser un page, request, session o application baseden su requerimiento. El valor de laid El atributo puede ser cualquier valor siempre que sea un nombre único entre otros useBean declarations en la misma JSP.

El siguiente ejemplo muestra cómo utilizar la acción useBean:

<html>
   <head>
      <title>useBean Example</title>
   </head>
   
   <body>
      <jsp:useBean id = "date" class = "java.util.Date" /> 
      <p>The date/time is <%= date %>
   </body>
</html>

Recibirá el siguiente resultado - -

The date/time is Thu Sep 30 11:18:11 GST 2010

Acceder a las propiedades de JavaBeans

Junto con <jsp:useBean...> acción, puede utilizar la <jsp:getProperty/> acción para acceder a los métodos get y <jsp:setProperty/>acción para acceder a los métodos establecidos. Aquí está la sintaxis completa:

<jsp:useBean id = "id" class = "bean's class" scope = "bean's scope">
   <jsp:setProperty name = "bean's id" property = "property name"  
      value = "value"/>
   <jsp:getProperty name = "bean's id" property = "property name"/>
   ...........
</jsp:useBean>

El atributo de nombre hace referencia al ID de un JavaBean introducido previamente en la JSP mediante la acción useBean. El atributo de propiedad es el nombre delget o la set métodos que deben invocarse.

El siguiente ejemplo muestra cómo acceder a los datos utilizando la sintaxis anterior:

<html>
   <head>
      <title>get and set properties Example</title>
   </head>
   
   <body>
      <jsp:useBean id = "students" class = "com.tutorialspoint.StudentsBean"> 
         <jsp:setProperty name = "students" property = "firstName" value = "Zara"/>
         <jsp:setProperty name = "students" property = "lastName" value = "Ali"/>
         <jsp:setProperty name = "students" property = "age" value = "10"/>
      </jsp:useBean>

      <p>Student First Name: 
         <jsp:getProperty name = "students" property = "firstName"/>
      </p>
      
      <p>Student Last Name: 
         <jsp:getProperty name = "students" property = "lastName"/>
      </p>
      
      <p>Student Age: 
         <jsp:getProperty name = "students" property = "age"/>
      </p>

   </body>
</html>

Hagamos el StudentsBean.classdisponible en CLASSPATH. Acceda a la JSP anterior. se mostrará el siguiente resultado:

Student First Name: Zara 

Student Last Name: Ali 

Student Age: 10