بتاريخ: 19 مايو 201312 سنة comment_236342 برجاء إفادتى - قم بعمل صفحة JSF وام ربطها بجدول الموظفين من خلال viewObject وقم بعمل button CreateInsert - أردت إضافت ميثود AfterCommit وقمت بإضافتها - عندما اردت اخراج رسالة كتبت الأتىFacesMessage message = new FacesMessage()l- لم أجد class FacesMessage - حاولت أعمل import javax.faces فلم أجدها أيضا حتى FacesContext برجاء إفادتى علما بانى أستخدم Jdeveloper r2 تقديم بلاغ
بتاريخ: 19 مايو 201312 سنة comment_236345 اخي الكريم بالنسبه لي FacesContextمع Jdeveloper2 خاصة بال bean اي لن تسطيع استخدامها AfterCommit الخاصة بالappModel والحل هو ارسال الرسالة الى AfterCommit كا parameter بالشكل التالي :- 1- الكود الخاص بالحفظ public String saveAction() { BindingContainer bindings = getBindings(); OperationBinding operationBinding = bindings.getOperationBinding("Commit"); Object result = operationBinding.execute(); FacesContext ctx = FacesContext.getCurrentInstance(); FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_INFO, "xz", ""); ctx.addMessage(null, fm); DCBindingContainer dcbc = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry().put("k",ctx ); if (!operationBinding.getErrors().isEmpty()) { return null; } return null; } لاحظه انه في متغير اسمه k يحتوي الرسالة بظيفه في pegeDefinition 2- تظيف الكود التالى في appModel public void afterCommit(TransactionEvent transactionEvent) { super.afterCommit(transactionEvent); DCBindingContainer dcbc = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry(); dcbc.get("k"); } تقديم بلاغ
بتاريخ: 19 مايو 201312 سنة كاتب الموضوع comment_236357 الميثود دى أكريتها فى البين بتاعت الصفحة Jsf تقديم بلاغ
بتاريخ: 19 مايو 201312 سنة comment_236360 انت اسحب زر الحفظ من data control و اعمل جنريت للكود تبعها قارن بين الدالتين سوف تلاحظ الجزء هذا FacesContext ctx = FacesContext.getCurrentInstance(); FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_INFO, "xz", ""); ctx.addMessage(null, fm); DCBindingContainer dcbc = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry().put("k",ctx ); زياده فقط ظيفه تقديم بلاغ
بتاريخ: 19 مايو 201312 سنة comment_236363 انت اسحب زرار الـ commit وبعدين أضعط عليه دبل كليك وهيطلب منك تنشاء كلاس انشاء كلاس وحدد اسم الميثود import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import oracle.adf.model.BindingContext; import oracle.binding.BindingContainer; import oracle.binding.OperationBinding; public class myClass { public myClass() { } public BindingContainer getBindings() { return BindingContext.getCurrent().getCurrentBindingsEntry(); } public String afterCommit() { BindingContainer bindings = getBindings(); OperationBinding operationBinding = bindings.getOperationBinding("Commit"); Object result = operationBinding.execute(); if (!operationBinding.getErrors().isEmpty()) { return null; } FacesMessage message = new FacesMessage("Record Saved Successfully!"); message.setSeverity(FacesMessage.SEVERITY_INFO); FacesContext fc = FacesContext.getCurrentInstance(); fc.addMessage(null, message); return null; } } هيظهر معاك الكود ده انت ضيف الكود اللي بالاحمر لو عاوز تغير الرسالة اكتب رسالتك مكان Record Saved Successfully وممكن تنزل الابلكيشن علشان تشوف الكود كامل وربنا معاك ويعينك ... afterCommit.rar تقديم بلاغ
بتاريخ: 19 مايو 201312 سنة comment_236367 طبعأ كلا الحلين صحيين ملاحظه الحل الاول هتتعلم منه كيف ترسل متغيرات للبكليش مديول من البين ربنا يسر امرك تم تعديل 19 مايو 201312 سنة بواسطة majed al shweesh تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.