JSP - JavaBeans

JavaBean เป็นคลาส Java ที่สร้างขึ้นเป็นพิเศษซึ่งเขียนด้วย Java และเข้ารหัสตามข้อกำหนด JavaBeans API

ต่อไปนี้เป็นลักษณะเฉพาะที่ทำให้ JavaBean แตกต่างจากคลาส Java อื่น ๆ -

  • มีตัวสร้างเริ่มต้นที่ไม่มีอาร์กิวเมนต์

  • ควรเป็นอนุกรมและสิ่งที่สามารถใช้ Serializable อินเตอร์เฟซ.

  • มันอาจมีคุณสมบัติหลายอย่างที่สามารถอ่านหรือเขียนได้

  • มันอาจมีจำนวน "getter"และ"setter"วิธีการสำหรับคุณสมบัติ

คุณสมบัติ JavaBeans

คุณสมบัติ JavaBean คือแอ็ตทริบิวต์ที่มีชื่อซึ่งผู้ใช้อ็อบเจ็กต์สามารถเข้าถึงได้ แอตทริบิวต์สามารถเป็นประเภทข้อมูล Java ใดก็ได้รวมถึงคลาสที่คุณกำหนด

คุณสมบัติ JavaBean อาจเป็น read, write, read only, หรือ write only. คุณสมบัติ JavaBean ถูกเข้าถึงผ่านสองวิธีในคลาสการใช้งานของ JavaBean -

ส. วิธีการและคำอธิบาย
1

ได้รับPropertyName()

ตัวอย่างเช่นถ้าชื่อคุณสมบัติเป็นfirstNameชื่อเมธอดของคุณจะเป็นgetFirstName()เพื่ออ่านคุณสมบัตินั้น วิธีนี้เรียกว่า accessor

2

ชุดPropertyName()

ตัวอย่างเช่นถ้าชื่อคุณสมบัติเป็นfirstNameชื่อเมธอดของคุณจะเป็นsetFirstName()เพื่อเขียนคุณสมบัตินั้น วิธีนี้เรียกว่า mutator

แอตทริบิวต์แบบอ่านอย่างเดียวจะมีเพียงไฟล์ getPropertyName() method และแอตทริบิวต์แบบเขียนอย่างเดียวจะมีเพียงไฟล์ 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 มีดังนี้ -

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

ค่าสำหรับแอตทริบิวต์ขอบเขตสามารถเป็นไฟล์ page, request, session หรือ application basedตามความต้องการของคุณ ค่าของid แอตทริบิวต์อาจเป็นค่าใดก็ได้ตราบเท่าที่เป็นชื่อที่ไม่ซ้ำกัน useBean declarations ใน 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/>การดำเนินการเพื่อเข้าถึงวิธีการตั้งค่า นี่คือไวยากรณ์แบบเต็ม -

<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 อ้างอิง id ของ 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 ด้านบน ผลลัพธ์ต่อไปนี้จะปรากฏขึ้น -

Student First Name: Zara 

Student Last Name: Ali 

Student Age: 10