menusearch
javapro.ir

RichFaces چیست و چه کاربردی در زبان جاوا دارد؟

جستجو
شنبه ۳ مهر ۱۴۰۰ | ۱۳:۵۷:۳۶
۱۳۹۹/۱۱/۱۹ یکشنبه
(1)
(0)
RichFaces چیست و چه کاربردی در زبان جاوا دارد؟
RichFaces چیست و چه کاربردی در زبان جاوا دارد؟

RichFaces یک کتابخانه مولفه است که توسط JBoss توسعه یافته است و پشتیبانی AJAX داخلی را برای برنامه JSF فراهم می‌کند. تمام کد‌‌‌‌های اضافی ای را که توسعه دهنده باید برای ایجاد علامت گذاری متفاوت در مرورگرها بنویسد، کاهش می‌دهد. یک چارچوب مولفه پیشرفته و رابط کاربر منبع باز است که برای ادغام آسان قابلیت‌‌‌‌های Ajax در برنامه جاوا Server استفاده می‌شود.

 

 

 

RichFaces چیست و چه کاربردی در زبان جاوا دارد؟
این چارچوب به عنوان یک کتابخانه مولفه پیاده سازی می‌شود که قابلیت Ajax را به صفحات موجود اضافه می‌کند، بنابراین نیازی به نوشتن هیچ کد
جاوا script یا جایگزینی اجزای موجود با ابزارک‌‌‌‌های جدید Ajax نیست. RichFaces پشتیبانی آژاکس در سراسر صفحه را به جای پشتیبانی سنتی در سراسر مولفه امکان پذیر می‌کند.

 

از این رو، می‌توانید رویدادی را در صفحه ای که درخواست Ajax را فراخوانی می‌کند و مناطقی از صفحه را که باید با درخت مولفه‌‌‌‌های جاوا JSF همگام شوند، پس از درخواست Ajax، داده‌‌‌‌های موجود در سرور را با توجه به رویدادهایی که بر روی کاربر ایجاد کرده است، تعریف کنید.


RichFaces یک چارچوب مولفه پیشرفته و رابط کاربر منبع باز است که برای ادغام آسان قابلیت‌‌‌‌های Ajax در برنامه جاوا سرور استفاده می‌شود. توسط Jboss طراحی و توسعه یافته است. RichFaces از چندین بخش از چارچوب زبان جاوا JSF 2 از جمله چرخه حیات، اعتبار سنجی، امکانات تبدیل و مدیریت منابع استفاده می‌کند.


RichFaces4 از یکپارچه سازی کامل JSF 2 پشتیبانی می‌کند و از فناوری‌‌‌‌های استاندارد برنامه‌‌‌‌های وب زبان جاوا مانند Java script، (XML)زبان نشانه گذاری قابل گسترش و (XHTML ) زبان نشانه گذاری ابرمتن قابل توسعه استفاده می‌کند. صفحه JSF به یک صفحهJSF " معمولی" تغییر نمی‌کند و شما نیازی به نوشتن چیزی به عنوان Java script یا XMLHTTPR یا درخواست دستی ندارید، همه کارها به صورت خودکار انجام می‌شود.

 

 

 

جریان درخواست پردازش
جریان درخواست پردازش

 

 

مزایای RichFaces
کتابخانه اجزای رابط کاربری غنی را فراهم می‌کند.
کیت توسعه مولفه (CDK) برای کمک به ساخت مولفه‌‌‌‌های جاوا JSF
اجازه می‌دهد تا اجزای سفارشی را با پشتیبانی داخلی ajax ایجاد کنید.
تولید منابع باینری در حین پرواز. مانند: تولید تصویر، صدا در طول زمان اجرا.
فناوری پوست
چارچوب منابع پویا.
اجزای کنترل اجاکس مبتنی بر مولفه ها.

 

 

 

 

پیش نیازها
جاوا JDK6 یا بالاتر.
سرور برنامه: Jboss EAP6، WildFly یا Apache Tomcat + Mojarra 2.X.
کتابخانه RichFaces: richfaces-core.jar، richfaces-a6j.jar، richfaces-rich.jar.
کتابخانه‌‌‌‌های شخص ثالث: javax.faces.jar، guava.jar، cssparser.jar، sac.jar.
محیط توسعه: JBoss Developer Studio یا Maven یا NetBeans یا IDE دیگر.

 

 


بررسی اجمالی معماری RichFaces
برای ارسال درخواست‌‌‌‌های Ajax از صفحات وب جاوا سمت کاربر، از اجزای Ajax استفاده کنید.
RichFaces دارای معماری است که از عناصر مهم زیر تشکیل شده است.
اجزای عملکرد آژاکس، ظروف آژاکس، خروجی آژاکس، پوسته ها و پوسته بندی، برنامه‌‌‌‌های افزودنی RaxFaces Ajax، اجزای عملکرد آژاکس
چارچوب RichFaces شامل چندین مولفه اقدام Ajax و رفتار‌‌‌‌های ارسالی است:

 

<a4j: command Button>, <a4j:commandLink>, <a4j:poll>, <a4j:ajax>


شکل زیر چندین عنصر مهم از چارچوب RichFaces را لیست می‌کند.

 

 

ساختار اجزای هسته Ajax
ساختار اجزای هسته Ajax

 

 


خروجی آژاکس
Ajax Container یک رابط است و بخشی از درخت JSF زبان جاوا را که برای هر درخواست Ajax به روز می‌شود و به کاربر ارائه می‌شود مشخص می‌کند.

 

 

 

پوسته ها و پوسته بندی
RichFaces پشتیبانی گسترده ای برای پوسته ای کردن برنامه‌‌‌‌های جاوا دارد. Skinning افزونه ای سطح بالا برای CSS سنتی Cascading Style Sheets) (است که اجازه می‌دهد طرح رنگ و شکل ظاهری برنامه به راحتی مدیریت شود. پوسته ها با استفاده از چندین عنصر رابط به عنوان ویژگی‌‌‌‌های قابل کنترل، که پالت‌‌‌‌های رنگی و یک ظاهر طراحی شده را کنترل می‌کنند، طراحی ظاهری را ساده می‌کنند. پوسته‌‌‌‌های برنامه‌‌‌‌های جاوا علاوه بر این می‌تواند در زمان اجرا در حین انتقال تغییر کند، و اجازه می‌دهد درخواست کاربر شخصی و سفارشی شود.

 

 

 

برنامه‌‌‌‌های افزودنی RaxFaces Ajax
RichFaces Ajax Extensions به امکانات استاندارد جاوا اسکریپت JSF 2.0 Ajax متصل می‌شود. آنها امکانات اسکریپت را با ویژگی ها و گزینه‌‌‌‌های جدید گسترش می‌دهند.

 

 


فیلتر آژاکس :

برای به دست آوردن تمام مزایای RichFaces، باید یک فیلتر را در پرونده web.xml برنامه خود ثبت کنید. این فیلتر چندین نوع درخواست را تشخیص می‌دهد. اطلاعات لازم در مورد پیکربندی فیلتر را می‌توان در بخش "پیکربندی فیلتر" یافت. نمودار توالی در شکل زیر تفاوت در پردازش درخواست JSF "منظم جاوا" و درخواست Ajax را نشان می‌دهد.

 

در حالت اول، کل درخت JSF رمزگذاری می‌شود، در گزینه دوم به "اندازه" منطقه آژاکس بستگی دارد. همانطور که مشاهده می‌کنید، در حالت دوم فیلتر قبل از ارسال آن به سمت سرویس گیرنده، محتوای پاسخ Ajax را تجزیه می‌کند.

 


برای درک این دو روش نگاهی به تصویر زیر بیندازید:


 

 

درخواست نمودار توالی پردازش

درخواست نمودار توالی پردازش

 

 

 

در هر دو مورد، اطلاعات مربوط به منابع استاتیک یا پویای مورد نیاز برنامه‌‌‌‌های مبتنی بر زبان جاوا شما در کلاس ResourseBuilder ثبت می‌شود. هنگامی که درخواستی برای یک منبع می‌آید، فیلتر RichFaces حافظه پنهان منبع را بررسی می‌کند و در صورت وجود، منبع برای کاربر ارسال می‌شود. در غیر این صورت، فیلتر منبع را در میان منابع ثبت شده توسط ResourceBuilder جستجو می‌کند. در صورت ثبت منبع، فیلتر RichFaces درخواستی را برای ایجاد (تحویل) منبع به ResourceBuilder ارسال می‌کند.
شکل زیر روش‌‌‌‌های پردازش درخواست منابع را نشان می‌دهد.

 

 

 

نمودار توالی درخواست منابع
نمودار توالی درخواست منابع

 

 

 

ترجمه جزئی
چارچوب RichFaces با ارائه جزئی از اجزای دارای قابلیت Ajax، چارچوب مولفه JSF جاوا را بهبود می‌بخشد. این بدان معنی است که فقط بخشی از صفحه که باید تحت تأثیر برخی تغییرات قرار گیرد، به روز می‌شود. قابلیت اجاکس را می‌توان با”mode"، "switch Type" و غیره تنظیم شده بر روی “ajax" فعال کرد. این روش از بروزرسانی چند صفحه جلوگیری می‌کند و بار سرور را به حداقل می‌رساند.

 

 


محدودیت ها و قوانین
برای ایجاد صحیح برنامه‌‌‌‌های Rich Faces، نکات زیر را بخاطر بسپارید:
چارچوب Ajax نباید اضافه یا حذف شود، بلکه فقط عناصر موجود در صفحات مبتنی بر زبان جاوا را جایگزین می‌کند. برای به روزرسانی‌‌‌‌های موفقیت آمیز، عنصری با همان شناسه پاسخ باید در صفحه وجود داشته باشد. اگر می‌خواهید هر کد را به صفحه ای اضافه کنید، یک مکان ذخیره برای آن قرار دهید (هر عنصر خالی). به همین دلیل، توصیه می‌شود پیام ها را در مولفهAjax Output"" قرار دهید (زیرا هیچ پیامی نیز پیام نیست).


از <f: verbatim> برای ظروف خود رندر استفاده نکنید، زیرا این جز گذرا است و در درخت ذخیره نمی‌شود. درخواست‌‌‌‌های Ajax توسط توابع XMLHTTPRequest در قالب XML انجام می‌شود، اما این XML بیشترین اعتبار سنجی و اصلاحاتی را که ممکن است در یک مرورگر انجام شود، دور می‌زند.

 

بنابراین، فقط یک کد سختگیرانه سازگار با استانداردها برای HTML و XHTML، بدون چشم پوشی از عناصر یا ویژگی‌‌‌‌های مورد نیاز، ایجاد کنید. هرگونه اصلاح XML لازم به طور خودکار توسط فیلتر XML بر روی سرور جاوا انجام می‌شود، اما با یک کد HTML نادرست می‌توان بسیاری از تأثیرات غیر منتظره را ایجاد کرد.
Rich Faces View Handler خود را در مقابل زنجیره Facelets View Handlers قرار می‌دهد.


اجزای Rich Faces از رندر‌‌‌‌های خاص خود استفاده می‌کنند. در Render Response Phase چارچوب Rich Faces از درخت مولفه عبور می‌کند، رندر خود را فراخوانی می‌کند و نتیجه را در Faces Response قرار می‌دهد.(Ajax مجموعه ای از تکنیک‌‌‌‌های توسعه وب است که از بسیاری از فناوری‌‌‌‌های وب در سمت کاربر برای ایجاد برنامه‌‌‌‌های وب زبان جاوا ناهمزمان استفاده می‌کند. با استفاده از Ajax، برنامه‌‌‌‌های وب می‌توانند داده ها را از یک سرور به صورت غیر همزمان و بدون تداخل در نمایش و رفتار صفحه موجود ارسال و بازیابی کنند)


RichFaces State API به راحتی می‌تواند مجموعه ای از حالت ها را برای صفحات وب جاوا و هر ویژگی را برای این حالت ها تعریف کند. در واقع یک حالتی است که در آن کلید ورود نام حالت و مقدار آن یک نقشه ایالتی است. نقشه State خاص دارای ورودی هایی با برخی از نام ها به عنوان کلید و هر شی به عنوان مقادیری است که پس از فعال سازی حالت استفاده می‌شود. بنابراین، در نقشه State می‌توانید مقادیر، صحافی‌‌‌‌های روش یا فقط برخی متغیر‌‌‌‌های حالت ساده (ثابت ها) را تعریف کنید که مقادیر مختلفی برای هر حالت دارند.


یکی از راحت ترین ویژگی‌‌‌‌های RichFaces State API، پیمایش بین حالت ها است. RichFaces State API تغییرات را به عنوان ناوبری استاندارد JSF زبان جاوا اعمال می‌کند. مولفه اقدام فقط نتیجه را برمی گرداند و پسوند Rich Faces State API برای کنترل کننده ناوبری JSF جاوا بررسی می‌کند که آیا این نتیجه به عنوان نتیجه تغییر وضعیت ثبت شده است یا خیر. اگر نتیجه تغییر حالت پیدا شود، حالت مربوطه فعال می‌شود. در غیر اینصورت کنترل ناوبری استاندارد نامیده می‌شود.

 

 

 


RichFaces State API

 

 

 

نسخه‌‌‌‌های قبلی Rich Faces با استفاده از BOM برای مدیریت وابستگی‌‌‌‌های پروژه مورد نیاز بود. با Rich Faces 4.5 تمام وابستگی‌‌‌‌های مورد نیاز بصورت گذرا مدیریت می‌شوند و راه اندازی پروژه شما را ساده می‌کنند. هنگامی که وابستگی Rich Faces را در برنامه خود وارد کردید، می‌توانید با افزودن یک صفحه JSF مولفه جاوا که شامل منابع برچسب Rich Faces است، شروع به توسعه دادن برنامه کنید:

<!DOCTYPE html>
<html Lang="en"
xmlns="http://www.w3.org/1999/xhtml"
...
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
</html>

 

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
گفتگو را شروع کنید
رزو مشاوره و تدریس خصوصی برنامه نویسی و سفارش انواع پروژه‌‌‌‌های برنامه نویسی