JSP - JavaBeans

JavaBean to specjalnie skonstruowana klasa Java napisana w języku Java i zakodowana zgodnie ze specyfikacjami API JavaBeans.

Poniżej przedstawiono unikalne cechy, które odróżniają JavaBean od innych klas Java -

  • Udostępnia domyślny konstruktor bez argumentów.

  • Powinien być możliwy do serializacji i taki, który może zaimplementować Serializable berło.

  • Może mieć wiele właściwości, które można odczytać lub zapisać.

  • Może mieć kilka „getter" i "setter„metody dla właściwości.

Właściwości JavaBeans

Właściwość JavaBean to nazwany atrybut, do którego może uzyskać dostęp użytkownik obiektu. Atrybut może mieć dowolny typ danych Java, w tym zdefiniowane przez użytkownika klasy.

Może to być właściwość JavaBean read, write, read onlylub write only. Dostęp do właściwości JavaBean uzyskuje się za pomocą dwóch metod w klasie implementacji JavaBean -

S.No. Metoda i opis
1

dostaćPropertyName()

Na przykład, jeśli nazwa właściwości to firstName , nazwa metody togetFirstName()przeczytać tę własność. Ta metoda jest nazywana akcesorium.

2

zestawPropertyName()

Na przykład, jeśli nazwa właściwości to firstName , nazwa metody tosetFirstName()napisać tę własność. Ta metoda nazywa się mutatorem.

Atrybut tylko do odczytu będzie miał tylko plik getPropertyName() a atrybut tylko do zapisu będzie miał tylko rozszerzenie setPropertyName() metoda.

Przykład JavaBeans

Rozważ klasę ucznia z kilkoma właściwościami -

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;
   }
}

Dostęp do JavaBeans

Plik useBeanaction deklaruje komponent JavaBean do użycia na stronie JSP. Po zadeklarowaniu komponent bean staje się zmienną skryptową, do której można uzyskać dostęp zarówno za pomocą elementów skryptowych, jak i innych niestandardowych znaczników używanych na stronie JSP. Pełna składnia tagu useBean jest następująca -

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

W tym przypadku wartości atrybutu zakresu mogą mieć postać page, request, session lub application basedna twoje wymagania. Wartośćid atrybut może być dowolną wartością, o ile jest między innymi unikalną nazwą useBean declarations w tym samym JSP.

Poniższy przykład pokazuje, jak używać akcji 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>

Otrzymasz następujący wynik - -

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

Dostęp do właściwości JavaBeans

Wraz z <jsp:useBean...> akcja, możesz użyć <jsp:getProperty/> akcja, aby uzyskać dostęp do metod get i pliku <jsp:setProperty/>akcja, aby uzyskać dostęp do ustawionych metod. Oto pełna składnia -

<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>

Atrybut name odwołuje się do identyfikatora komponentu JavaBean, który został wcześniej wprowadzony do strony JSP przez działanie useBean. Atrybut właściwości to nazwa plikuget albo set metody, które powinny zostać wywołane.

Poniższy przykład pokazuje, jak uzyskać dostęp do danych przy użyciu powyższej składni -

<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>

Zróbmy StudentsBean.classdostępne w CLASSPATH. Uzyskaj dostęp do powyższej strony JSP. zostanie wyświetlony następujący wynik -

Student First Name: Zara 

Student Last Name: Ali 

Student Age: 10