السلام عليكم
كيف حالكم يا شباب؟
هل تشربون الحليب كل يوم؟
لماذا أسألكم
بالطبع لأني لا أشرب الحليب
كم كنت ومازلت أبغضه
ولا أعرف لذلك سبباً
على أية حال هذه حرية شخصية
لكن واسمحولي لا أريد أن أرى من يشرب الحليب في صفي اليوم
كنوع من أنواع التعذيب
لماذا أعذب من يشرب الحليب؟
ببساطة لأن جميعنا كنا نعاقب بسبب الحلبيب
إما لكوننا نحاول التهرب من شربه
أو لوكننا نشربه ولكننا لا نحبه
وهو لعمري عذاب أسطوري
بالطبع باستثناء تلك الثلة التي كانت تحب شربه
لهذا فأنا أجد من الجميل أن نراهم يتعذبون
(لا أعرف لماذا يذكرني صفك بموضوع الحليب هذا)
طبعاُ هذا عبده ومن غيره
وبالطبع اللئيم يقصد أن صفي تعذيب لمن يحضره ولمن يتركه
وأتمنى لو يوضح هذا اللئيم
(ببساطة من يحضر يعاني من استظرافك ودمك الخفيف
ومن لا يحضر عندما يريد أن يحضر سيعاني من اعتباره
مجرد جاهل لا يفقه شيئاً على اعتبار تفاهتك التي تتكلم عنها
يمكن أن تسمى علماً)
احم احم
على كل حال لا أعرف ما الذي أعاد الأخ عبده للجافا
بعد أن انتقل إلى معسكر العدو
يبدو أنه يستلذ بتعذيبي
وكأني ضابط فرنسي وقع أسيراً في يد الجيشتابو الألماني
دعوكم مني ومن عبده ومن لعبة الهر والفأر التي تدور بيننا
ودعونا نتكلم عن لمحة اليوم
الجميع لاحظ أني لم أعطها رقماً
والسبب أني سأتكلم اليوم عن جزء من J2EE وليس J2SDK
على كل حال ربما أغير رأيي وأعطيها رقماُ
وربما أفرد لهذا الفرع من جافا تلميحاته الخاصة به
الموضوع يتكلم عن JSF
والسؤال الأبدي كيف يمكنني أن أتحكم في الصفحة التي تظهر للمستخدم بعد أن ضغط على زر button في صفحتي
وكعادتي في خطوات أجمل الإجابة
الخطوة الأولى
نضيف قواعد التصفح navigation-rule في ملف faces-config
مثال على ذلك
<navigation-rule> <from-view-id>/Page1.jsp</from-view-id> <navigation-case> <from-outcome>action</from-outcome> <to-view-id>/goToHell.jsp</to-view-id> </navigation-case> </navigation-rule>
نلاحظ هناك أربع وسوم tags داخلية في الوسم navigation-rule
الوسم الأول from-view-id
وهو يحدد الصفحة التي سنكون فيها لكي تطبق هذه القاعدة
الوسم الثاني navigation-case
وهذا يمثل الحالة ولكل حالة يتكرر وجود هذا الوسم
بمعنى أنه لو أني في صفحة تسجيل
وبعد هذا أريد أن أحول المستخدم إلى إحدى صفحتين
إما شكر على التسجيل أو طلب تغيير البريد الإلكتروني
سيكون لدي هذا الوسم متكرر مرتين
الوسم الثالث from-outcome
هذا الوسم نأجل الحديث عنه إلى حينه
الوسم الرابع to-view-id
هذا الوسم يمثل الصفحة التي سيتم الإنتقال لها عند حدوث الحالة
الخطوة الثانية
نضيف فاصولياء bean إلى ملف faces-config
<managed-bean> <managed-bean-name>Page1</managed-bean-name> <managed-bean-class>webapplication1.Page1</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean>
الوسم الرئيسي هنا managed-bean
وهو يعني أن هذه الفاصولياء مدارة بواسطة JSF
نلاحظ لدينا ثلاث وسوم في الوسم managed-bean
هذه الوسوم تمثل اسم الفاصولياء المستخدم في مكونات JSF
واسم الفئة الخاصة بالفاصولياء
والمدى الخاص بهذه الفاصولياء
الخطوة الثالثة
نقوم بعمل النموذج Form الخاص بنا باستخدام المكونات الخاصة بـ JSF
بعد هذا نضيف الزر للنموذج
والذي سيكون شبيه بالتالي
<h:commandButton action="#{Page1.button1_action}" id="button1" value="ok"/>
نلاحظة ملاحظتة هنا وهي أنا استخدمنا
اسم الفاصولياء الذي ذكر في الوسم managed-bean-name
وليس اسم الفئة نفسها
الخطوة الرابعة والأخيرة
نقوم بعمل الدالة button1_action في الفئة التي ذكرت في الوسم managed-bean-class
public String button1_action() { return "action"; }
وهنا نقوم بإرجاع إحدى القيم التي ذكرت في الوسم from-outcome
التي ذكرناها في الخطوة الأولى
بالطبع ما دمنا نكتب شيفرة جافا فبإمكننا إجراء أي فحوصات نريد
أوووووووف مللت من الكتابة
لأننا نكتبها يدوياً
لكن الموضوع أبسط عندما تتعامل مع IDE مثل eclipse أو NetBeans
أنا انتهيت اليوم
أية أسئلة أنا جاهز
تحياتي
Tags: commandButton, faces-config, form, J2EE, jsf, navigation-rule, جافا, لمحة جافاوية, نموذج
تحياتي …
لا غبار …والا رايتني انفخ …
لكن
/Page1.jsp
action
/goToHell.jsp
انت ذكرت مثال صغير اعجبني ..رسالة ترحيب مثلا ..كنت تسجل انت يا علاء ثم تضهر لك
صفحة اعادة توجيه ترحيبية ركز على اعادة توجيه ..ول تكن بال html وليست بالjsp
اذا انت تستدعي page1.jsp لتنادي تلك hello.html مثلا …
اذا اضن action للـpage1 التي سوف تستدعي صفحة الترحيب
الا اذا كنت تقصد شئ ..قد فقدت منه ايصال الفكرة لنا بسبب الشح بالامثلة
الله معك..
لا بالطبع شادي
أنا لا أتكلم عن الصفحات الغبية التي تقوم بالتحويل من صفحة إلى أخرى
أنا أتكلم عن النماذج التي تقوم مثل عملية التسجيل وعملية البحث
أي نموذج form والتي تحتاج إلى button لنقلك إلى صفحة أخرى
تحياتي
يا خيستي عليا كل هاد عشان انتقل من صفحة لتانية بزر !!!
الله يعز ASP.NET
تحياتي يا علوش
هو الموضوع أسهل من ماهو عليه هنا
مع استخدام IDEs مثل Eclipse Netbeans
لكني أحاول أن أساعد من يعمل بدونها
لكن تظل مايكروسوفت -وأنا أعترف بذلك- ملكة التبسيط
على كل حال
أسعدني مرورك م. أنس
ومشتاقلك كثير
تحياتي
تعليقي مش في صلب الموضوع, بس حبيت أذكر إن عشان الحياة تستمر بخير من دون مشاكل, لازم الواحد يعمل بعض حاجات مبيحبهاش أو حتى بيكرهها. وشرب الحليب بشكل دوري من الحاجات دي.لإنه مهم جدا” لجميع الأعمار وتركه بيضر جدا” في نواحي عديدة منها هشاشة العظام وأنا متأكد إن الناس اللي مكانتش بتشرب الحليب وجالها هشاشة عظام كانوا في الأول فرحنين ومبسوطين بس لما بدأت عظامهم تؤلمهم, تمنوا لو كانوا بيشربوه كل يوم. وربنا يحفظنا أجمعين…
بارك الله فيك – ولكن لى تعليق بسيط على الفاصوليا
انا لا افهم معناها؟؟؟؟؟؟؟؟؟؟؟؟
أقصد بالفاصولياء bean
تحياتي
هلا اخي علاء ..
بالنسبة لي استخدمت Struts الاصدار الاول ، و استخدمت JSF،
وارى ان Struts اكثر وضوحا من JSF ، ففي JSF تحدث اشياء غريبة (استثناءات) و يصعب تتبع الاخطاء فيها.
على اي حال احاول حاليا استخدام richfaces وهي من بنات JSF وسأحاول ان شاء الله كتابة تجربتي في منتدى الفريق العربي قريبا ان شاء الله تعالى.
منور أخي العيافي
لست متمكناً من JSF مئة بالمئة
عملت عليها مرة لتعديل على مشروع مفتوح المصدر
وكانت تجربة سيئة جداً
لا أعلم إن كان بسبب قلة معلوماتي عنها أو بسبب سوء المشروع الذي عملت عليه
لكني في النهاية أعتقد أنها بحاجة إلى أدوات مرفقة معها تساعدك في ضبط الموضوع
تحياتي
ماهذا الجمال يا علاء…
بصراحه أشعر بإنك إنسان أخر عن ما أنت عليه في المنتدي… فأنت في المنتدي تقوم بدور PM فقط لا غير ….
المهم… درس جميل جدا…… شكرا لك…
بالمناسبه… يعجبني إستخدامك للعربيه في كل مصطلحاتك (الفاصولياء :D)
في المنتدى هناك واحد يجب أن يكون مسؤولاً عن إدارة العملية
وللأسف كان أنا بحكم أني الأقدم والذي عرض الإشراف على الأغلب هناك
وهذا يعني ببساطة أني مضطر أن لا أجعلكم تحسون بفارق كبير
حتى لا تتنحوا عن الموضوع من أوله لكن انتظر حتى تتعودوا أكثر فتريحوني من العبء الإداري
أحب العربية وأرى أن من حق من يجهل الإنجليزية أن يتعلم
فلماذا بالله عليك أكتب بغير العربية 🙁
تحياتي