JavaBeans عبارة عن فئات Java خاصة، وهي عبارة عن مكونات قابلة لإعادة الاستخدام مكتوبة بلغة Java وتتوافق مع مواصفات JavaBeans API.
فيما يلي الميزات الفريدة لـ JavaBean مقارنة بفئات Java الأخرى:
قم بتوفير مُنشئ افتراضي بدون وسيطة.
يحتاج إلى إجراء تسلسل وتنفيذ الواجهة القابلة للتسلسل.
قد يكون هناك مجموعة من الخصائص القابلة للقراءة والكتابة.
قد تكون هناك سلسلة من أساليب "الحصول" أو "الضبط".
يجب أن يكون من الممكن الوصول إلى خصائص كائن JavaBean. يمكن أن تكون هذه السمة أي نوع بيانات Java قانوني، بما في ذلك فئات Java المخصصة.
يمكن أن تكون خصائص كائن JavaBean للقراءة والكتابة أو للقراءة فقط أو للكتابة فقط. يتم الوصول إلى خصائص كائن JavaBean من خلال طريقتين متوفرتين في فئة تنفيذ JavaBean:
طريقة | يصف |
---|---|
الحصول على اسم الملكية () | على سبيل المثال، إذا كان اسم السمة هو myName، فيجب كتابة اسم الطريقة كـ getMyName() لقراءة السمة. وتسمى هذه الطريقة أيضًا بالوصول. |
اسم_الملكية () | على سبيل المثال، إذا كان اسم السمة هو myName، فيجب كتابة اسم الطريقة كـ setMyName() لكتابة السمة. وتسمى هذه الطريقة أيضًا بالكاتب. |
توفر خاصية القراءة فقط طريقة getPropertyName() فقط، وتوفر خاصية الكتابة فقط طريقة setPropertyName() فقط.
هذا هو ملف StudentBean.java:
package com.tutorialspoint;public class StudentBean Implements java.io.Serializable{ public String firstName = null; 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 }}
قم بتجميع ملف StudentBean.java، والذي سيتم استخدامه في المثال الأخير من هذا الفصل.
يمكن للعلامة <jsp:useBean> الإعلان عن JavaBean في JSP ثم استخدامها. بعد الإعلان، تصبح كائنات JavaBean متغيرات نصية ويمكن الوصول إليها من خلال عناصر البرنامج النصي أو العلامات المخصصة الأخرى. تنسيق بناء الجملة للعلامة <jsp:useBean> كما يلي:
<jsp:useBean id = "اسم الفول" نطاق = "نطاق الفول" typeSpec/>
من بينها، اعتمادًا على الموقف المحدد، يمكن أن تكون قيمة النطاق صفحة أو طلبًا أو جلسة أو تطبيقًا. يمكن أن تكون قيمة المعرف عشوائية طالما أنها ليست نفس قيمة المعرف في <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/> لاستدعاء أسلوب الضبط. تنسيق بناء الجملة كما يلي:
<jsp:useBean id = "id"scope = "نطاق الفول"> <jsp:setProperty name = "معرف الفول" خاصية = "اسم الخاصية" value = "قيمة"/> خاصية <jsp:getProperty name = "معرف الفول" ="اسم الخاصية"/> ...........</jsp:useBean>
تشير سمة الاسم إلى سمة معرف 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 أعلاه، وتكون نتائج التشغيل كما يلي:
الاسم الأول للطالب: زارا اسم العائلة للطالب: علي عمر الطالب: 10 سنوات