البرمجة

فتح صفحة ويب خارجية في Oracle ADF

في تطبيقات Oracle ADF، تفتقر العمليات المباشرة لفتح صفحات الويب الخارجية من القيام بذلك مباشرة. ومع ذلك، يمكنك تحقيق هذا الهدف بسهولة باستخدام الجافا سكريبت في الجانب العميل مع التفاعل مع تطبيق ADF.

أولاً، يجب عليك إنشاء إجراء تنفيذي (Action) في طبقة الخدمة أو طبقة الواجهة الخلفية التي ترتبط مع زر af:commandButton. يمكن أن يقوم هذا الإجراء بجلب عنوان صفحة الويب الخارجية من قاعدة البيانات أو من مصدر آخر.

ثانياً، بمجرد استرجاع عنوان الصفحة الخارجية من قاعدة البيانات، يمكنك تضمين كود جافا سكريبت في صفحة الويب الخاصة بك لفتح صفحة الويب هذه في علامة تبويب جديدة. هذا يمكن تحقيقه باستخدام window.open() وتمرير عنوان الصفحة كمعلمة. سيكون هذا بمثابة استدعاء لوظيفة فتح صفحة جديدة بالجافا سكريبت.

إليك خطوات مفصلة:

  1. إنشاء إجراء تنفيذي (Action) في ADF لجلب عنوان صفحة الويب الخارجية.
  2. استدعاء هذا الإجراء في الحدث المناسب مثل actionListener لزر af:commandButton.
  3. على الجانب العميل (في صفحة الويب)، استخدم الجافا سكريبت لفتح صفحة الويب الجديدة عند النقر على الزر.

مثال على كيفية تنفيذ هذه الخطوات:

في طبقة الخدمة أو الواجهة الخلفية:

java
public void openExternalWebpageActionListener(ActionEvent actionEvent) { // احصل على عنوان صفحة الويب الخارجية من قاعدة البيانات String externalWebpageUrl = // كود لجلب عنوان الصفحة من قاعدة البيانات; // قم بتنفيذ كود جافا سكريبت لفتح صفحة الويب في علامة تبويب جديدة RequestContext.getCurrentInstance().execute("window.open('" + externalWebpageUrl + "', '_blank');"); }

ثم في صفحة الويب الخاصة بك (من خلال محرر الكود في Oracle ADF):

xml
<af:commandButton text="افتح صفحة الويب الخارجية" id="cb1" actionListener="#{backingBeanScope.backing_home.openExternalWebpageActionListener}"/>

هذا المثال يوضح كيفية فتح صفحة ويب خارجية في علامة تبويب جديدة بعد النقر على زر في تطبيق Oracle ADF. تأكد من استبدال “backingBeanScope.backing_home” بالطبقة والوظيفة الصحيحة في تطبيقك. كما عليك أيضًا تعديل الكود ليتناسب مع طريقة الوصول إلى قاعدة البيانات الخاصة بك لجلب عنوان صفحة الويب الخارجية.

المزيد من المعلومات

بالطبع، سأقدم المزيد من المعلومات لتوضيح الخطوات المذكورة أعلاه ولضمان فهم أعمق لكيفية فتح صفحة ويب خارجية في Oracle ADF:

الخطوة 1: إنشاء إجراء تنفيذي (Action)

يجب عليك أولاً إنشاء إجراء تنفيذي في طبقة الخدمة أو الواجهة الخلفية. يمكنك فعل ذلك عن طريق إنشاء طريقة في تطبيق ADF وتعيينها كإجراء تنفيذي.

java
public class MyBackingBean { public void openExternalWebpageActionListener(ActionEvent actionEvent) { // قم بجلب عنوان صفحة الويب الخارجية من قاعدة البيانات أو من مصدر آخر String externalWebpageUrl = // كود لجلب عنوان الصفحة من قاعدة البيانات; // استدعاء دالة الجافا سكريبت لفتح صفحة الويب في علامة تبويب جديدة FacesContext context = FacesContext.getCurrentInstance(); ExtendedRenderKitService service = Service.getRenderKitService(context, ExtendedRenderKitService.class); service.addScript(context, "window.open('" + externalWebpageUrl + "', '_blank');"); } }

الخطوة 2: ربط الإجراء مع زر af:commandButton

بعد ذلك، يمكنك ربط هذا الإجراء التنفيذي مع زر af:commandButton في واجهة المستخدم.

xml
<af:commandButton text="افتح صفحة الويب الخارجية" id="cb1" actionListener="#{myBackingBean.openExternalWebpageActionListener}"/>

الخطوة 3: فهم الكود المستخدم

  • في الإجراء التنفيذي، يتم جلب عنوان صفحة الويب الخارجية من قاعدة البيانات أو من أي مصدر آخر يفضله المطور.
  • يتم استخدام دالة الجافا سكريبت window.open() لفتح صفحة ويب جديدة. القيمة '_blank' تضمن فتح الصفحة في علامة تبويب جديدة.
  • يتم استخدام ExtendedRenderKitService لإضافة السكريبت إلى الواجهة بطريقة موثوقة.

النقاط الهامة:

  • يجب على المطور أن يتأكد من أن قيمة externalWebpageUrl محددة بشكل صحيح لضمان فتح الصفحة الصحيحة.
  • يمكن تعديل الكود ليتماشى مع متطلبات محددة، مثل إضافة المزيد من الإجراءات أو التحقق من الأمان.

باستخدام هذه الخطوات، يمكن للمطور فتح صفحة ويب خارجية بسهولة في Oracle ADF عند النقر على زر محدد، مما يسمح بإضافة مزيد من الوظائف والتفاعلية إلى التطبيقات.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

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