الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ارجو الافادة في jsf2 ضروري جدا

بدأه jdeveloper83 في 3 أكتوبر 2011 · 7 رد · 1,164 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ارجو الافادة من خبراء jsf2 لقد قمت بانشاء داتا بيز تتكون من جدول واحد وقمت بعرض الجدول عن طريق باستخدام الكويري وتم عرضه صحيح لكن المشكلة التي امامي اود ان يستطيع المستخدم عن طريق الشاة التي تظهر اماه من ادخال بيانات مثل customer id , name , address ويتم حفظها في الداتا بيز .. لم استطع عمل هذا حيث انني لم استع تمرير الباراميتر من على صفحة jsf الى managed bean ارجو الافادة سريعا ساقوم بتحميل البروجكت كاملا ولو استطاع احد التعديل ارجو الافادة ذلك ..

ارجو اي طريقة لاخذ بيانات من المستخدم وتمريرها لدالة من شانها عمل insert في داتا بيز ....

ارفقت ايظا ملف الداتا بيز test .. في انتظار الرد علما باني استخدم ال netbeans واستخدم jsf2 و primefaces

src.rar

test.rar

web.rar

تم تعديل هذه المشاركة بواسطة jdeveloper83 في 3 أكتوبر 2011 في 10:17

#2

السلام عليكم ورحمة الله وبركاته,,,

اعتقد أن الاجابة على سؤالك هنا ...

http://stackoverflow.com/questions/5895880/add-user-entered-data-to-database-using-jsf

طلبي اذا امكن أن تشرح بشكل سريع طريقة استدعاء البيانات من قاعدة بيانات في jsf...

دمت بحفظ الله

سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولاحول ولا قوة إلا بالله

get-one-91.gif

الخبــــــرة هي مـــــــــــا تحصل عليه عندمــــا لا تحصل على ما تريده....

#3

لست متذكرا بالضبط .. لكن في داخل الدله التى تنفذ عند الضغط على الزر ( action=xxxx ) .. قم بجلب القيم المراده من ال TextBoxes الموجوده على ال form .. و قم بعمل ما تشاء بها ...

لا تفكر كثيرا بال GET و ال request parameters في ال JSF إلا إذا كنت فعلا تحتاج ذلك ..

#4
JAVA FOR ALL كتب:

السلام عليكم ورحمة الله وبركاته,,,

اعتقد أن الاجابة على سؤالك هنا ...

http://stackoverflow.com/questions/5895880/add-user-entered-data-to-database-using-jsf

طلبي اذا امكن أن تشرح بشكل سريع طريقة استدعاء البيانات من قاعدة بيانات في jsf...

دمت بحفظ الله

هذا الرابط ستجد فيه الحل إن شاء الله

http://www.roseindia.net/jsf/data.shtml

داخل ملف الجافا عرف arraylist وعرف كلاس اخر لحمل البيانات المستقبله من الداتابيز ثم وضعهم مع الاندكس i داخل الللست في الكلاس الاول ..

هناك ايضا اسلوب اخر لاستدعاء البيانات من غير جدول عن طريق وسم rpeat بالشكل التالي :

<ui:rpeat var="item" value="#{classname.yourArryList}">

<h:outputyext value="item.uname" >

</ui:rpeat>"

,والمعذرة كتبتها على عجالة

بعدها اتصل

#5
أبوعابد العمري كتب:

هذا الرابط ستجد فيه الحل إن شاء الله

http://www.roseindia.net/jsf/data.shtml

داخل ملف الجافا عرف arraylist وعرف كلاس اخر لحمل البيانات المستقبله من الداتابيز ثم وضعهم مع الاندكس i داخل الللست في الكلاس الاول ..

هناك ايضا اسلوب اخر لاستدعاء البيانات من غير جدول عن طريق وسم rpeat بالشكل التالي :

<ui:rpeat var="item" value="#{classname.yourArryList}">

<h:outputyext value="item.uname" >

</ui:rpeat>"

,والمعذرة كتبتها على عجالة

بعدها اتصل

جزاك الله خير أبو عابد العامري ...

على الرغم من أني زرت هذا الربط من قبل ولم ينجح معي ..حاولت مرات ومرات ولا ابالغ اذا قلت وصلت محاولاتي لاستدعاء البيانات اكثر من مائة مره وعشرات ساعات العمل على هذا الشي البسيط والتافه في نظري الان :) ورغم ذلك لم ينجح ..ووصلت إلى شبه يئس وهممت باسخدم السيرفات لانه لم ينتج عنه أي اخطاء ...ولما وضعته هنا مرة اخرى كررت المحاولات..

لكن الان ولله الحمد نجحت واخير اكتشفت الخطأ وقد كان في ملف faces-config.xml

الكود كان مكتوب بهذا الشكل :

<?xml version="1.0"?>
<faces-config>
	<managed-bean>
		<managed-bean-name>tableBean</managed-bean-name>
		<managed-bean-class>roseindia.TableBean</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
	</managed-bean>

</faces-config>

والصحيح هو هذا:

<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="2.0"
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
    <managed-bean>
        <managed-bean-name>loginBean</managed-bean-name>
        <managed-bean-class>LoginBean</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>	
</faces-config>

وكانت اكوادي التي اسير عليها من فترة بالاساس سليمة ..

الرسالة التي اريد ايصالها أنه على الرغم من ذلك فقد استفدت مهارات عديده ومعلومات قيمه ولله الحمد ورب ضارة نافعة ..

واستفدت درسا مهما ... ليس شرطا أن خطأ التنفيذ من الكود فربما كانت تهيئة المشروع سيئة..

اكرر لك شكري ..والحمد لله رب العالمين...

تم تعديل هذه المشاركة بواسطة JAVA FOR ALL في 8 أكتوبر 2011 في 09:43

سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولاحول ولا قوة إلا بالله

get-one-91.gif

الخبــــــرة هي مـــــــــــا تحصل عليه عندمــــا لا تحصل على ما تريده....

#6

الف مليون شكر لكل من قام بالرد على الموضوع ولكن حتى الان للاسف لما استطع عمل insert في الداتا بيز .. حيث انيع استطيع عمل select للداتا من على الجدول وعرضها في صفحة ال html ولكن عند محاول اضافة ريكورد جديد في الجدول لا استطيع ارجو التكرم علي بمثال بسيط يقوم بعمل insert في الداتا بيز حيث يقوم باخد البيانات من على صفحة ال html وعند الظغط على زر save مثلا يقوم بحفظ هذه الباانات واضافتها في جدول الموجود في الداتابيز ..............

#7

أخي أنصحك بإستخدام مفهوم ال entites عند العمل مع الداتابيز في ال J2EE حيث أنها تسهل كثيرا العمل عليك و تجعلك بعيدا تماما عن أخطاء عبارات ال SQL

بإختصار ال entity هو صف جافا خاص يقوم بعملية تدعى object/relational mapping أي يقوم بإسقاط للجداول على أغراض ... بمعنى أوضح كل جدول في الداتابيز يصبح عبارة عن غرض entity تستطيع التعامل معه بسهولة و إستدعاء الطرائق التي تحتاجها من إدراج و حذف و بحث و إسترجاع و غيرها بدون الدخول في تفاصيل قاعدة البيانات و الاستعلامات كما يدعم مفهوم الوراثة و مفهوم العالقات بين الجداول بشكل جيد جدا

لكن في هذه الحالة ينبغي عليك تغير بنية التطبيق لديك و إستخدام session beans لتكون الطبقة الوسيطة بين ال entites و الmanaged beans (أو يمكن مباشرة الربط بينهما دون إستخدام ال session bean إذا أحببت)

أما إذا لم ترد تعقيد الأمر عليك بتعلم شيئ جديد :

الخطأ في التطبيق الذي حملته بصراحة لا أستطيع إيجاده لإن التطبيق لا ينفذ بشكل صحيح عندي لإنك مستخدم في صفحة ال JSF مكتبات غير موجوة لدي

لكن منطق عملك صحيح فيجب إستخدام inputText لإلتقاط القيم التي يدخلها المستخدم و وضعها ضمن عناصر ال managedBean ثم عند ضغط الزر يتم إستدعاء الطريقة التي تقوم بالinsert

أنصحك صديقي أن تجرب ال insert في صفحة أخرى لا تحوي على شيئ آخر سوى خانات الإدخال و الزر الذي يستدعي التابع لأن الكثير من أخطاء ل J2EE تكون ناتجة عن تسلسل العمل بسبب أخطاء في قيم الأغراض و هذه الأمور

أرجو منك أن تضع الخطأ الذي يظهر لديك عند محاولة إدخال السجل الجديد

#8

مشكووووووووووور لكل من ساهم في الرد على الموضوع وافادتي بخبراتكم ..

ارجو منكم ان يتسع صدركم لي حيث اني في بداية تعلمي لل jsf + primefaces ؛ وعندي استفسار اخر وهو عند عمل ابديت على row معين في ال table كيف اقوم بمعرفة ان ال row الذي اخترته هوا الذي سيتم تعديله او بمعني اخر كيف اقوم باخذ الداتا القديمة الى ال bean لعمل جملة الابديت عليها حيث التعديل يكون بوضع القيم الجديدة where القيم القديمة x, y , z او كيف اصل ل selected row والتعديل عليه وياريت لو مثال مبسط للمعرفة التامة حيث ان لم استطع فعل هذا وخصوصا مع الداتا بيز

في انتظار الردود

ومشكووور لكل القائمين على هذا العمل ..........

مواضيع مشابهة