سلام
خیلی از سوالاتی که دوستان از من میپرسن بصورت خیلی کامل با مثالهای مختلف توی کتاب آموزش JavaServer Faces از انتشارات ناقوس توضیح داده شده است. خرید این کتاب اینترتی هست. بهتر است سوالاتی پرسیده شود که توی این کتاب توضیح داده نشده است
با تشکر
سلام
خیلی از سوالاتی که دوستان از من میپرسن بصورت خیلی کامل با مثالهای مختلف توی کتاب آموزش JavaServer Faces از انتشارات ناقوس توضیح داده شده است. خرید این کتاب اینترتی هست. بهتر است سوالاتی پرسیده شود که توی این کتاب توضیح داده نشده است
با تشکر
طراحی مدل های MVC در JSF 2.0- روش اول
روش اول:
برای آشنایی با این روش, بهتر است هر لایه را بصورت جداگانه معرفی نموده و در پایان این بحث مزایا و معایب آنرا توضیح دهیم:
لایه View
این لایه متشکل از صفحات وب, کتابخانه های جاوا اسکریپت, و فایلهای CSS میباشد. صفحات وب در این لایه عموما از فایلهایی با پسوند xhtml ایجاد میشوند.
لایه Controller
این لایه متشکل از فایلها و کلاسهای جاوا بوده که با علامتهای Named@ و ManagedBean@ ایجاد میگردند. وظیفه این لایه مدیریت داده هاو رکورد ها قبل از ارسال به پایگاه داده (لایه Model) و یا ایجاد اطلاعات لازم برای نمایش در لایه View میباشد.
همانطور که میدانید و قبلا نیز توضیح داده شد، هنگامی که برنامه Redirect میشود، تمامی آبجکت ها از بین رفته و نمیتوان به مقادیر آنها در سایر صفحات دسترسی پیدا نمود. به عنوان مثال فرض کنید کلاسی در حافظه RequestScoped طراحی کرده که دارای متدی بنام SaveCustomer می باشد. در این متد هنگامی که عملیات ثبت انجام میگردد، برنامه میبایست کاربر را به صفحه ای دیگر منتقل کرده و در آن صفحه پیغامی متناسب با شرایط به کاربر نمایش دهد. با توجه به توضیحات سایر بخشها این کار اصلا امکان پذیر نبوده زیرا که با Redirect شدن صفحه تمام مقادیر و همچنین پیغامهای تعریف شده از بین خواهد رفت. برای رفع این مشکل در JSF 2.0 آبجکتی بنام Flash طراحی شده که می تواند یک پیغام را در خود را نگهداری کرده و در یک صفحه جدید(فقط صفحه ای که برنامه به آن Redirect شده است) دیگر به کاربر نمایش دهد.
بصورت کلی در JSF، رویدادهای Action Event هنگامی که کاربر بر روی یک Link یا Button (کامپوننت های h:commandButton، h:commandLink) کلیک میکند، فراخوانی میگردد.
ابتدا بهتر است توضیح مختصری راجع به رویداد های Action و ActionListener داشته باشیم.
کتابخانه JSTL شامل مجموعه ای از توابع بوده که از فریم ورک JSP به فریم ورک JSF 2.0 ارث رسیده و می توان آنها را بر روی عبارت های از نوع String و یا آرایه ها مستقیماْ در صفحات JSF با استفاده از دستورات Expression Language مورد استفاده قرار داد.
برای استفاده از این توابع باید ابتدا Namespace آنها را در قسمت تعاریف صفحه بصورت زیر وارد وارد نمایید:
xmlns:fn = "http://java.sun.com/jsp/jstl/functions"