SSH框架網(wǎng)上商城項目第22戰(zhàn)之銀行圖標(biāo)以及支付頁面顯示
從上一節(jié)的小demo中我們搞清楚了如何跟易寶對接以及易寶的支付流程。這一節(jié)我們來做一下支付頁面以及在頁面中導(dǎo)入銀行圖標(biāo)。
1. 存儲銀行圖標(biāo)
銀行圖標(biāo)一般不會總是去加載,因為這些東西是死的,沒必要每次進入支付頁面就去加載銀行圖標(biāo),這樣性能會受到一定的影響。這讓我們聯(lián)想到了之前的加載首頁數(shù)據(jù)了,其實跟那個道理是一樣的,我們可以在項目啟動的時候就將銀行圖標(biāo)資源加載到application中,后面用到了就直接在application域中取就行了。所以跟原來一樣,我們在監(jiān)聽器中加載銀行圖標(biāo)。
銀行圖標(biāo)易寶官方會提供給我們,那么我們需要做的就是將這些圖標(biāo)放到工程下的某個文件夾里,我是放在了WebRoot/files/bankImages中,這些圖標(biāo)的名稱都嚴(yán)格根據(jù)易寶官方要求的名字命名,就像上一節(jié)中看到的,工行就命名為ICBC-NET.gif。
加載圖標(biāo)的思路是如下:
1)首先從指定目錄中獲取所有圖標(biāo)的名字,并且過濾掉不需要的文件,這個過濾很重要,因為如果有一些多余的文件或者隱藏文件的話,我們都獲取到了,然后前臺顯示的時候就會出現(xiàn)一些奇怪的東西,所以我們只要有用的圖標(biāo)。
2)其次我們拿到圖標(biāo)名稱后將它們放到數(shù)組或者集合中,然后把數(shù)組或集合存到application域中
很明顯,第二步是在監(jiān)聽器中實現(xiàn)的,第一步我們可以自己新寫一個工具類,也可以在我們之前寫過的fileUploadUtil類中完成。
1.1 獲取圖標(biāo)名稱
我們在fileUploadUtil中添加獲取圖標(biāo)名稱的代碼:
@Component("fileUpload")
public class FileUploadUtil implements FileUpload {
//省略原來的代碼……
//@Value表示去beans.xml文件中找id="prop"的bean,它是通過注解的方式讀取properties配置文件的,然后去相應(yīng)的配置文件中讀取
@Value("#{prop.basePath+prop.bankImagePath}")
private String bankImagePath;
public String[] getBankImage() {
String[] list = new File(bankImagePath).list(new FilenameFilter() {
//測試指定文件是否應(yīng)該包含在某一文件列表中
@Override
public boolean accept(File dir, String name) {
System.out.println("dir:" + dir + ",name:" + name);
//通過后綴名來實現(xiàn)文件的過濾效果
//返回真就放到list中,返回假就過濾掉
return name.endsWith(".gif");
}
});
return list;
}
我們加載的是public.properties配置文件,看一下配置文件中的內(nèi)容:
basePath=E\:\\web\\apache-tomcat-8.0.26\\webapps\\E_shop filePath=\\files bankImagePath=\\files\\bankImages
之所以有個basePath是為了便于擴展,而且以后修改的話basePath不需要動。我們繼續(xù)看上面那個方法,new File(path).list() 方法是獲取路徑中所有文件名,但是new File(path).list(FilenameFilter filter) 帶有過濾功能,可以過濾掉不想要的文件,只返回想要的文件到數(shù)組中。FilenameFilter 接口中只有一個accept方法,所以我們可以用內(nèi)部類來實現(xiàn),在里面判斷 一下是否是.gif后綴的文件即可。
1.2 將圖標(biāo)名稱存入application域
下面我們在監(jiān)聽器中將剛剛保存圖標(biāo)名稱的數(shù)組存儲到application域中,這些方法之前都有介紹過,就不多做解釋了,直接看代碼:
//@Component //監(jiān)聽器是web層的組件,它是tomcat實例化的,不是Spring實例化的。不能放到Spring中
public class InitDataListener implements ServletContextListener {
//省略其他代碼……
private ApplicationContext context = null;
private FileUpload fileUpload = null;
@Override
public void contextInitialized(ServletContextEvent event) {
context = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext());
//將存儲銀行圖片的數(shù)組放到application中,項目啟動的時候加載
fileUpload = (FileUpload) context.getBean("fileUpload");
event.getServletContext().setAttribute("bankImageList", fileUpload.getBankImage());
}
}
2. 支付頁面顯示
我們來看一下bank.jsp關(guān)于銀行圖標(biāo)這一塊的代碼,如下:
還有一塊是顯示訂單的相關(guān)信息的,從下面的代碼中也可以看出,是從session中拿我們之前備份的訂單信息,原信息在用戶確認(rèn)訂單跳到支付頁面時已經(jīng)銷毀了。

3. 測試一下效果
下面我們來測試一下支付頁面的顯示效果,如下:

好了,支付頁面顯示正常,下面要完成支付功能了,即上一節(jié)用servlet寫的那個demo的功能,只不過現(xiàn)在放到Struts中,并且可能要考慮到一些其他的問題,下一節(jié)再寫吧。
原文鏈接:http://blog.csdn.net/eson_15/article/details/51452243
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 用ajax自動加載blogjava和博客園的rss
- java AJAX實現(xiàn)級聯(lián)下拉框
- ajax java 實現(xiàn)自動完成功能
- 深入Ajax代理的Java Servlet的實現(xiàn)詳解
- 在Java的Struts中判斷是否調(diào)用AJAX及用攔截器對其優(yōu)化
- AJAX省市區(qū)三級聯(lián)動下拉菜單(java版)
- SSH框架網(wǎng)上商城項目第14戰(zhàn)之商城首頁UI的設(shè)計
- SSH框架網(wǎng)上商城項目第17戰(zhàn)之購物車基本功能
- SSH框架網(wǎng)上商城項目第23戰(zhàn)之在線支付功能實現(xiàn)
- SSH框架網(wǎng)上商城項目第28戰(zhàn)之使用Ajax技術(shù)局部更新商品數(shù)量和總價
相關(guān)文章
java中throws與try...catch的區(qū)別點
在本篇文章里小編給大家整理了一篇關(guān)于java中throws與try...catch的區(qū)別點的內(nèi)容,需要的朋友們跟著學(xué)習(xí)下。2020-02-02
Spring Boot集群管理工具KafkaAdminClient使用方法解析
這篇文章主要介紹了Spring Boot集群管理工具KafkaAdminClient使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02
SpringBoot整合Kaptcha實現(xiàn)圖片驗證碼加減乘除功能
在開發(fā)Web應(yīng)用時,驗證碼是一個常見的功能,它可以幫助我們防止機器人的惡意操作,今天我們將學(xué)習(xí)如何使用Kaptcha生成圖片驗證碼,并自定義驗證碼內(nèi)容為100以內(nèi)的加減乘除運算,感興趣的朋友跟隨小編一起看看吧2024-07-07
jackson 實體轉(zhuǎn)json 為NULL或者為空不參加序列化(實例講解)
下面小編就為大家?guī)硪黄猨ackson 實體轉(zhuǎn)json 為NULL或者為空不參加序列化(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
Java Elastic Job動態(tài)添加任務(wù)實現(xiàn)過程解析
這篇文章主要介紹了Java Elastic Job動態(tài)添加任務(wù)實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08

