Dari demo kecil di bagian sebelumnya, kami menemukan cara terhubung dengan proses pembayaran Yibao dan Yibao. Di bagian ini, mari kita lakukan halaman pembayaran dan mengimpor ikon bank ke halaman.
1. Simpan ikon bank
Ikon bank umumnya tidak selalu memuat karena hal -hal ini sudah mati. Tidak perlu memuat ikon bank setiap kali Anda memasukkan halaman pembayaran, sehingga kinerja akan terpengaruh sampai batas tertentu. Ini mengingatkan kita pada pemuatan data beranda sebelumnya. Bahkan, itu sama dengan itu. Kami dapat memuat sumber daya ikon bank ke dalam aplikasi ketika proyek dimulai. Setelah itu, dapat digunakan langsung di domain aplikasi. Jadi seperti sebelumnya, kami memuat ikon bank di pendengar.
Pejabat Ikon Bank Yibao akan memberi kami, jadi yang perlu kami lakukan adalah menempatkan ikon -ikon ini ke dalam folder di bawah proyek. Saya menempatkannya di webroot/file/bankimages. Nama ikon -ikon ini secara ketat dinamai sesuai dengan nama resmi yang disyaratkan oleh Yibao. Seperti yang terlihat pada bagian sebelumnya, ICBC menamakannya icbc-net.gif.
Gagasan memuat ikon adalah sebagai berikut:
1) Pertama, dapatkan nama semua ikon dari direktori yang ditentukan dan filter file yang tidak perlu. Penyaringan ini sangat penting karena jika ada beberapa file tambahan atau file tersembunyi, kami semua mendapatkannya, dan kemudian beberapa hal aneh akan muncul ketika meja depan menampilkannya, jadi kami hanya memiliki ikon yang berguna.
2) Kedua, setelah kami mendapatkan nama ikon, kami memasukkannya ke dalam array atau koleksi, dan kemudian menyimpan array atau koleksi di bidang aplikasi, jelas. Langkah kedua diimplementasikan dalam pendengar. Langkah pertama adalah bahwa kita dapat menulis kelas alat baru sendiri, atau kita dapat menyelesaikannya di kelas Fileuploadutil yang kita tulis sebelumnya.
1.1 Dapatkan nama ikon
Kami menambahkan kode untuk mendapatkan nama ikon di fileuploadutil:
@Component ("Fileupload") kelas publik Fileuploadutil mengimplementasikan fileupload {// hilangkan kode asli ... //@nilai berarti mencari kacang dengan id = "prop" dalam file beans.xml. Ini membaca file konfigurasi properti melalui anotasi, dan kemudian membaca @Value ("#{prop.basePath+prop.bankimagePath}") Private String BankImagePath; string publik [] getBankImage () {string [] list = File baru (BankImagePath) .list (filenamefilter baru () {// uji apakah file yang ditentukan harus dimasukkan dalam daftar file @override public boolean accept (file dir, nama string) {System.out.println ("dir:" + dir ", name:" name) {System.out.println ("Dir:" + Dir ", Name:" Name) {System.out.println ("Dir:" + Dir ", Name:" NAME) {System.OUT.PRINTLN ("DIR:" + DIR ", NAMA:" dan memasukkannya ke dalam daftar, kembalikan False dan filter out return name.endswith (". GIF"); daftar pengembalian; }Kami memuat file konfigurasi public.properties, dan lihat konten dalam file konfigurasi:
Basepath = e/: //web//apache-tomcat-8.0.26//webapps//e_shopfilepath=//filesbankimagePath=//files//bankimages
Alasan untuk basepath adalah untuk memfasilitasi ekspansi, dan Basepath tidak perlu dipindahkan jika dimodifikasi di masa depan. Mari kita terus lihat metode di atas. Metode File (Path) .list () baru adalah untuk mendapatkan semua nama file di jalur, tetapi file baru (path) .list (filter FILENAMEFILTER) memiliki fungsi penyaringan, yang dapat memfilter file yang tidak diinginkan dan hanya mengembalikan file yang diinginkan ke dalam array. Hanya ada satu metode menerima dalam antarmuka FileNamefilter, sehingga kami dapat menggunakan kelas internal untuk mengimplementasikannya dan menilai apakah itu file dengan akhiran .GIF.
1.2 Simpan Nama Ikon ke Bidang Aplikasi
Di bawah ini kami menyimpan berbagai nama ikon yang baru saja disimpan ke bidang aplikasi di pendengar. Metode -metode ini telah diperkenalkan sebelumnya, jadi saya tidak akan menjelaskannya lebih banyak. Mari kita lihat kodenya:
//@komponen // pendengar adalah komponen dari lapisan web. Ini dipakai oleh Tomcat, bukan musim semi. Tidak dapat dimasukkan ke dalam musim semi kelas publik initDataListenerer mengimplementasikan servletcontextListener {// hilangkan kode lain ... private applicationContext context = null; Fileupload Private Fileupload = NULL; @Override public void contextInitialized (event servletcontextEvent) {context = webappleCicleContextUtils.getWebApplicationContext (event.getSerVletContext ()); // Masukkan gambar bank penyimpanan array ke dalam aplikasi, dan muat fileupload saat proyek dimulai = (fileupload) context.getBean ("Fileupload"); Event.GetSerVletContext (). SetAttribute ("BankImagelist", FileUpload.getBankImage ()); }}2. Tampilan Halaman Pembayaran
Mari kita lihat kode bank.jsp tentang ikon bank, sebagai berikut:
Bagian lain menunjukkan informasi yang relevan dari pesanan. Juga dapat dilihat dari kode di bawah ini bahwa kami mengambil informasi pesanan yang sebelumnya kami cadangkan dari sesi tersebut. Informasi asli dihancurkan ketika pengguna mengkonfirmasi pesanan untuk melompat ke halaman pembayaran.
3. Uji Efeknya
Mari uji efek tampilan dari halaman pembayaran, sebagai berikut:
Oke, halaman pembayaran ditampilkan secara normal. Fungsi pembayaran harus diselesaikan di bawah ini, yaitu demo yang ditulis di bagian sebelumnya menggunakan Servlet. Namun, sekarang dimasukkan ke dalam struts, dan beberapa masalah lain dapat dipertimbangkan. Mari kita tulis di bagian selanjutnya.
Tautan asli: http://blog.csdn.net/eson_15/article/details/51452243
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.