📜  JSP-JavaBeans

📅  最后修改于: 2020-11-13 05:28:38             🧑  作者: Mango


JavaBean是用Java编写并根据JavaBeans API规范进行编码的特殊构造的Java类。

以下是将JavaBean与其他Java类区分开的独特特征-

  • 它提供了一个默认的无参数构造函数。

  • 它应该是可序列化的,并且可以实现Serializable接口。

  • 它可能具有许多可以读取或写入的属性。

  • 它可能有许多用于属性的“ getter ”和“ setter ”方法。

JavaBeans属性

JavaBean属性是对象的用户可以访问的命名属性。该属性可以是任何Java数据类型,包括您定义的类。

JavaBean属性可以是read,write,read onlyonly write 。 JavaBean属性通过JavaBean的实现类中的两种方法访问-

S.No. Method & Description
1

getPropertyName()

For example, if property name is firstName, your method name would be getFirstName() to read that property. This method is called accessor.

2

setPropertyName()

For example, if property name is firstName, your method name would be setFirstName() to write that property. This method is called mutator.

只读属性将仅具有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使用。声明后,bean成为一个脚本变量,可以由JSP中使用的脚本元素和其他自定义标签访问。 useBean标签的完整语法如下:


根据您的要求作用域属性的值可以是页面,请求,会话应用程序id属性的值可以是任何值,只要它是同一JSP中其他useBean声明中的唯一名称即可。

以下示例显示如何使用useBean操作-

useBean Example
   
   
   
       
      

The date/time is

您将收到以下结果–

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

访问JavaBeans属性

操作一起,您可以使用操作访问get方法,并使用操作访问set方法。这是完整的语法-


   
   
   ...........

name属性引用先前由useBean操作引入JSP的JavaBean的ID。 property属性是应调用的getset方法的名称。

以下示例显示如何使用上述语法访问数据-

get and set properties Example
   
   
   
       
         
         
         
      

      

Student First Name:

Student Last Name:

Student Age:

让我们在CLASSPATH中提供StudentsBean.class 。访问上面的JSP。将显示以下结果-

Student First Name: Zara 

Student Last Name: Ali 

Student Age: 10