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 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>
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690