JavaBean เป็นคลาส Java พิเศษ ซึ่งเป็นส่วนประกอบที่นำมาใช้ซ้ำได้ซึ่งเขียนด้วยภาษา Java และเป็นไปตามข้อกำหนด JavaBeans API
สิ่งต่อไปนี้คือคุณสมบัติเฉพาะของ JavaBean เมื่อเปรียบเทียบกับคลาส Java อื่นๆ:
ระบุตัวสร้างที่ไม่มีอาร์กิวเมนต์เริ่มต้น
จำเป็นต้องมีการทำให้เป็นอนุกรมและใช้อินเทอร์เฟซแบบอนุกรมได้
อาจมีคุณสมบัติที่สามารถอ่านและเขียนได้หลากหลาย
อาจมีวิธีการ "getter" หรือ "setter" หลายวิธี
คุณสมบัติของวัตถุ JavaBean ควรสามารถเข้าถึงได้ แอ็ตทริบิวต์นี้สามารถเป็นชนิดข้อมูล Java ตามกฎหมายใดๆ รวมถึงคลาส Java แบบกำหนดเอง
คุณสมบัติของอ็อบเจ็กต์ JavaBean สามารถเป็นแบบอ่าน-เขียน อ่านอย่างเดียว หรือเขียนอย่างเดียว คุณสมบัติของอ็อบเจ็กต์ JavaBean เข้าถึงได้ผ่านสองวิธีที่มีให้ในคลาสการใช้งาน JavaBean:
วิธี | อธิบาย |
---|---|
getPropertyName () | ตัวอย่างเช่น หากชื่อของแอ็ตทริบิวต์คือ myName ชื่อของเมธอดควรเขียนเป็น getMyName() เพื่ออ่านแอ็ตทริบิวต์ วิธีการนี้เรียกอีกอย่างว่าตัวเข้าถึง |
เซ็ตคุณสมบัติชื่อ () | ตัวอย่างเช่น หากชื่อของแอ็ตทริบิวต์คือ myName ชื่อของเมธอดควรเขียนเป็น setMyName() เพื่อเขียนแอ็ตทริบิวต์ วิธีการนี้เรียกว่านักเขียน |
คุณสมบัติแบบอ่านอย่างเดียวจัดเตรียมเมธอด getPropertyName() เท่านั้น และคุณสมบัติแบบเขียนอย่างเดียวจัดเตรียมเมธอด setPropertyName() เท่านั้น
นี่คือไฟล์ StudentBean.java:
แพ็คเกจ com.tutorialspoint; คลาสสาธารณะ StudentsBean () { } สตริงสาธารณะ getFirstName () { กลับชื่อแรก; สตริง getLastName(){ return LastName; } public int getAge(){ return age; } public void setFirstName(String firstName){ this.firstName = firstName; } โมฆะสาธารณะ setLastName (นามสกุลสตริง) { this.lastName = นามสกุล; } โมฆะสาธารณะ setAge (อายุจำนวนเต็ม) { this.age = อายุ }}
คอมไพล์ไฟล์ StudentBean.java ซึ่งจะใช้ในตัวอย่างสุดท้ายของบทนี้
แท็ก <jsp:useBean> สามารถประกาศ JavaBean ใน JSP แล้วใช้งานได้ หลังจากการประกาศ อ็อบเจ็กต์ JavaBean จะกลายเป็นตัวแปรสคริปต์ และสามารถเข้าถึงได้ผ่านเอลิเมนต์สคริปต์หรือแท็กที่กำหนดเองอื่นๆ รูปแบบไวยากรณ์ของแท็ก <jsp:useBean> เป็นดังนี้:
<jsp:useBean id="ชื่อถั่ว" scope="ขอบเขตของถั่ว" typeSpec/>
ค่าของขอบเขตอาจเป็นเพจ คำขอ เซสชัน หรือแอปพลิเคชัน ทั้งนี้ขึ้นอยู่กับสถานการณ์เฉพาะ ค่า id สามารถกำหนดเองได้ตราบใดที่ไม่เหมือนกับค่า id ใน <jsp:useBean> อื่นๆ ในไฟล์ JSP เดียวกัน
สิ่งต่อไปนี้คือการใช้งานแท็ก <jsp:useBean> แบบง่ายๆ:
<html><head><title>useBean ตัวอย่าง</title></head><body><jsp:useBean id="date" /> <p>วันที่/เวลาคือ <%= date %></body ></html>
มันจะให้ผลลัพธ์ดังต่อไปนี้:
วันที่/เวลา คือ วันพฤหัสบดีที่ 30 กันยายน เวลา 11:18:11 น. GST 2013
ในเนื้อความของแท็ก <jsp:useBean> ให้ใช้แท็ก <jsp:getProperty/> เพื่อเรียกเมธอด getter และใช้แท็ก <jsp:setProperty/> เพื่อเรียกเมธอด setter รูปแบบไวยากรณ์จะเป็นดังนี้:
<jsp:useBean id="id" scope="bean's scope"> <jsp:setProperty name="bean's id" property="ชื่อคุณสมบัติ" value="value"/> <jsp:getProperty name="bean's id" คุณสมบัติ ="ชื่อคุณสมบัติ"/> ..........</jsp:useBean>
แอตทริบิวต์ name อ้างถึงแอตทริบิวต์ id ของ Bean แอ็ตทริบิวต์คุณสมบัติอ้างอิงถึงเมธอด getter หรือ setter ที่คุณต้องการโทร
ต่อไป ให้ตัวอย่างง่ายๆ ของการเข้าถึงแอตทริบิวต์โดยใช้ไวยากรณ์ข้างต้น:
<html><head><title>รับและตั้งค่าคุณสมบัติ ตัวอย่าง</title></head><body><jsp:useBean id="students" > ค่า <jsp:setProperty name="students" property="firstName" ="ซาร่า"/> <jsp:setProperty name="students" property="lastName" value="Ali"/> <jsp:setProperty name="students" property="age" value="10"/></jsp:useBean><p>ชื่อนักเรียน: <jsp:getProperty name="students" property="firstName"/></p><p>นามสกุลนักเรียน: <jsp: getProperty name="students" property="lastName"/></p><p>อายุของนักเรียน: <jsp:getProperty name="students" property="age"/></p></body></html >
เพิ่ม StudentBean.class ให้กับตัวแปรสภาพแวดล้อม CLASSPATH จากนั้นเข้าถึง JSP ข้างต้น ผลลัพธ์การทำงานจะเป็นดังนี้:
ชื่อนักเรียน: Zara นามสกุลนักเรียน: อาลี อายุนักเรียน: 10