Учебники

JSP — JavaBeans

JavaBean — это специально сконструированный класс Java, написанный на Java и закодированный в соответствии со спецификациями API JavaBeans.

Ниже приведены уникальные характеристики, которые отличают JavaBean от других классов Java.

  • Он предоставляет конструктор по умолчанию без аргументов.

  • Он должен быть сериализуемым и тем, который может реализовывать интерфейс Serializable .

  • Он может иметь ряд свойств, которые могут быть прочитаны или записаны.

  • Он может иметь несколько методов » getter » и » setter » для свойств.

Он предоставляет конструктор по умолчанию без аргументов.

Он должен быть сериализуемым и тем, который может реализовывать интерфейс Serializable .

Он может иметь ряд свойств, которые могут быть прочитаны или записаны.

Он может иметь несколько методов » getter » и » setter » для свойств.

Свойства JavaBeans

Свойство JavaBean — это именованный атрибут, к которому может обращаться пользователь объекта. Атрибут может иметь любой тип данных Java, включая классы, которые вы определяете.

Свойство JavaBean может быть доступно для чтения, записи, только для чтения или только для записи . Доступ к свойствам JavaBean осуществляется через два метода в классе реализации JavaBean —

S.No. Метод и описание
1

получить PropertyName ()

Например, если имя свойства firstName , имя вашего метода будет getFirstName () для чтения этого свойства. Этот метод называется аксессором.

2

установить PropertyName ()

Например, если имя свойства firstName , имя вашего метода будет setFirstName () для записи этого свойства. Этот метод называется мутатором.

получить PropertyName ()

Например, если имя свойства firstName , имя вашего метода будет getFirstName () для чтения этого свойства. Этот метод называется аксессором.

установить PropertyName ()

Например, если имя свойства firstName , имя вашего метода будет setFirstName () для записи этого свойства. Этот метод называется мутатором.

Атрибут только для чтения будет иметь только метод getPropertyName () , а атрибут только для записи будет иметь только метод setPropertyName () .

Пример JavaBeans

Рассмотрим студенческий класс с несколькими свойствами —

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

Доступ к JavaBeans

Действие useBean объявляет JavaBean для использования в JSP. После объявления компонент становится переменной сценария, к которой могут обращаться как элементы сценария, так и другие пользовательские теги, используемые в JSP. Полный синтаксис тега useBean выглядит следующим образом:

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

Здесь значения для атрибута области могут быть страницей, запросом, сеансом или приложением в зависимости от ваших требований. Значением атрибута id может быть любое значение, если оно является уникальным именем среди других объявлений useBean в той же JSP.

В следующем примере показано, как использовать действие 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>

Вы получите следующий результат — —

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

Доступ к свойствам JavaBeans

Наряду с действием <jsp: useBean …> вы можете использовать действие <jsp: getProperty /> для доступа к методам get и действие <jsp: setProperty /> для доступа к методам set. Вот полный синтаксис —

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

Атрибут name ссылается на идентификатор JavaBean, ранее введенный в JSP с помощью действия useBean. Атрибут свойства — это имя методов get или set, которые должны быть вызваны.

В следующем примере показано, как получить доступ к данным, используя приведенный выше синтаксис:

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

Давайте сделаем так, чтобы StudentsBean.class был доступен в CLASSPATH. Получите доступ к вышеуказанной JSP. будет показан следующий результат —