من العرض التوضيحي الصغير في القسم السابق ، اكتشفنا كيفية التواصل مع عملية دفع Yibao و Yibao. في هذا القسم ، دعنا نفعل صفحة الدفع واستيراد أيقونات البنك في الصفحة.
1. أيقونة بنك المتجر
لا يتم تحميل أيقونات البنك عمومًا لأن هذه الأشياء قد ماتت. ليست هناك حاجة لتحميل أيقونات البنك في كل مرة تدخل فيها صفحة الدفع ، بحيث يتأثر الأداء إلى حد ما. هذا يذكرنا بالتحميل السابق لبيانات الصفحة الرئيسية. في الواقع ، هو نفسه. يمكننا تحميل مورد أيقونة البنك في التطبيق عند بدء تشغيل المشروع. بعد ذلك ، يمكن استخدامه مباشرة في مجال التطبيق. لذلك كما كان من قبل ، نقوم بتحميل أيقونة البنك في المستمع.
سيوفر لنا أيقونة بنك ييباو ، لذا ما يتعين علينا القيام به هو وضع هذه الرموز في مجلد بموجب المشروع. لقد وضعتها في Webroot/Files/BankImages. تتم تسمية أسماء هذه الرموز بشكل صارم وفقًا للأسماء الرسمية التي تتطلبها Yibao. كما هو موضح في القسم السابق ، أطلق عليها اسم ICBC IT ICBC-NET.GIF.
فكرة تحميل أيقونات هي كما يلي:
1) أولاً ، احصل على أسماء جميع الرموز من الدليل المحدد وتصفية الملفات غير الضرورية. يعد هذا التصفية مهمًا للغاية لأنه إذا كان هناك بعض الملفات الإضافية أو الملفات المخفية ، فقد حصلنا عليها جميعًا ، وبعد ذلك ستظهر بعض الأشياء الغريبة عندما يعرضها مكتب الاستقبال ، لذلك لدينا فقط أيقونات مفيدة.
2) ثانياً ، بعد أن نحصل على أسماء الأيقونات ، وضعناها في صفيف أو مجموعة ، ثم تخزين المصفوفة أو المجموعة في حقل التطبيق ، فهذا واضح. يتم تنفيذ الخطوة الثانية في المستمع. الخطوة الأولى هي أنه يمكننا كتابة فئة جديدة للأدوات بأنفسنا ، أو يمكننا إكمالها في فئة FileUploadutil التي كتبناها من قبل.
1.1 احصل على اسم الأيقونة
نضيف الرمز للحصول على اسم الأيقونة في fileUploadutil:
component ("fileUpload") الفئة العامة fileUploAdutil تنفذ fileUpload {// حذف الكود الأصلي ... //@value يعني البحث عن الفاصوليا مع id = "prop" في ملف beans.xml. يقرأ ملف تكوين الخصائص من خلال التعليق التوضيحي ، ثم يقرأ Value ("#{prop.basepath+prop.bankimagepath}") سلسلة خاصة bankimagpath ؛ السلسلة العامة [] getBankImage () {string [] list = file new (bankimagePath) .list (New FilenameFilter () {// اختبار ما إذا كان يجب تضمين الملف المحدد في قائمة ملفات ملفات عامة منطقية عامة ( + enrase active) ضعها في القائمة ، وإرجاع FALSE و FILTER Out Return. قائمة العودة }نقوم بتحميل ملف تكوين public.properties ، ونلقي نظرة على المحتويات في ملف التكوين:
basepath = e/: //web//apache-tomcat-8.0.26//webapps//e_shopfilepath=//filesbankimagepath=//files//bankimages
سبب وجود قاعدة هو تسهيل التوسع ، ولا يلزم نقل الأساس إذا تم تعديله في المستقبل. دعنا نستمر في النظر إلى الطريقة أعلاه. تتمثل طريقة الملف الجديد (path) .list () في الحصول على جميع أسماء الملفات في المسار ، ولكن يحتوي الملف الجديد (path) .list (FilenameFilter Filter) على وظيفة تصفية ، والتي يمكنها تصفية الملفات غير المرغوب فيها وإرجاع الملفات المطلوبة فقط إلى الصفيف. لا يوجد سوى طريقة قبول واحدة فقط في واجهة FilenameFilter ، حتى نتمكن من استخدام الفئات الداخلية لتنفيذها والحكم على ما إذا كان ملفًا مع .gif لاحقة.
1.2 احفظ اسم الرمز في حقل التطبيق
أدناه نقوم بتخزين مجموعة أسماء الأيقونات التي تم حفظها للتو في حقل التطبيق في المستمع. تم تقديم هذه الطرق من قبل ، لذلك لن أشرحها أكثر. دعونا نلقي نظرة على الكود فقط:
//@component // المستمع هو مكون من طبقة الويب. يتم إنشاء مثيل له بواسطة Tomcat ، وليس الربيع. لا يمكن وضعها في فصل الربيع العام initDatalistener تنفذ ServletContextListener {// حذف الرموز الأخرى ... Application Context = null ؛ fileUpload الخاص fileUpload = null ؛ Override public void contextInitialized (ServletContexTevent Event) {context = webapplicationContextUtils.getWebapplicationContext (event.getServletContext ()) ؛ // ضع صفيفًا تخزين الصور المصرفية في التطبيق ، وقم بتحميل fileUpload عندما يبدأ المشروع = (fileUpload) context.getBean ("fileUpload") ؛ event.getServletContext (). setAttribute ("bankimagelist" ، fileUpload.getBankimage ()) ؛ }}2. عرض صفحة الدفع
دعنا نلقي نظرة على مدونة Bank.jsp حول أيقونة البنك ، على النحو التالي:
تُظهر قطعة أخرى المعلومات ذات الصلة بالطلب. يمكن أيضًا رؤية من الكود أدناه أننا أخذنا معلومات الطلب التي سبق أن دعمناها من الجلسة. تم تدمير المعلومات الأصلية عندما أكد المستخدم ترتيب القفز إلى صفحة الدفع.
3. اختبار التأثير
دعنا نختبر تأثير عرض صفحة الدفع ، على النحو التالي:
حسنًا ، يتم عرض صفحة الدفع بشكل طبيعي. يتم إكمال وظيفة الدفع أدناه ، أي العرض التوضيحي المكتوب في القسم السابق باستخدام Servlet. ومع ذلك ، يتم الآن وضعه في دعامات ، ويمكن النظر في بعض القضايا الأخرى. دعنا نكتبه في القسم التالي.
الرابط الأصلي: http://blog.csdn.net/eson_15/article/details/51452243
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.