JSP - JavaBeans

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

以下是区分JavaBean与其他Java类的唯一特性 :

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

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

  • 它可能有许多属性可以读或写.

  • 它可能有一些" getter "和" setter "属性的方法.

JavaBeans属性

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

JavaBean属性可以是读,写,只读只写. JavaBean属性通过JavaBean的实现类中的两个方法访问 :

S.No.方法&描述
1

获取 PropertyName ()

例如,如果属性名称是 firstName ,则您的方法名称将为是 getFirstName()来读取该属性.此方法称为访问者.

2

set PropertyName ()

例如,如果属性名称是 firstName ,您的方法名称将 setFirstName()来编写该属性.这个方法叫做mutator.

只读属性只有一个 getPropertyName()方法,只写属性只有 setPropertyName()方法.

JavaBeans示例

考虑一个具有少量属性和减号的学生班级;

package com.it1352; 
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 action声明一个JavaBean以在JSP中使用.声明之后,bean成为脚本变量,可以由JSP中使用的脚本元素和其他自定义标记访问. useBean标记的完整语法如下 :

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

此处范围属性的值可以是页面,请求,会话基于应用程序你的要求. id 属性的值可以是任何值,只要它是同一JSP中其他 useBean声明中的唯一名称.

以下示例显示了如何使用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方法的操作和用于访问set方法的< jsp:setProperty/> 操作.以下是完整语法 :

<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属性引用之前由useBean操作引入JSP的JavaBean的id. property属性是应该调用的 get set 方法的名称.

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

<html>
   <head>
      <title>get and set properties Example</title>
   </head>
   
   <body>
      <jsp:useBean id = "students" class = "com.IT屋.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>

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

Student First Name: Zara 

Student Last Name: Ali 

Student Age: 10