激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - SSH框架網上商城項目第22戰之銀行圖標以及支付頁面顯示

SSH框架網上商城項目第22戰之銀行圖標以及支付頁面顯示

2020-05-12 11:50eson_15 JAVA教程

這篇文章主要為大家詳細介紹了SSH框架網上商城項目第22戰之銀行圖標以及支付頁面顯示,感興趣的小伙伴們可以參考一下

從上一節的小demo中我們搞清楚了如何跟易寶對接以及易寶的支付流程。這一節我們來做一下支付頁面以及在頁面中導入銀行圖標。

1. 存儲銀行圖標

  銀行圖標一般不會總是去加載,因為這些東西是死的,沒必要每次進入支付頁面就去加載銀行圖標,這樣性能會受到一定的影響。這讓我們聯想到了之前的加載首頁數據了,其實跟那個道理是一樣的,我們可以在項目啟動的時候就將銀行圖標資源加載到application中,后面用到了就直接在application域中取就行了。所以跟原來一樣,我們在監聽器中加載銀行圖標。
  銀行圖標易寶官方會提供給我們,那么我們需要做的就是將這些圖標放到工程下的某個文件夾里,我是放在了WebRoot/files/bankImages中,這些圖標的名稱都嚴格根據易寶官方要求的名字命名,就像上一節中看到的,工行就命名為ICBC-NET.gif。

加載圖標的思路是如下:
  1)首先從指定目錄中獲取所有圖標的名字,并且過濾掉不需要的文件,這個過濾很重要,因為如果有一些多余的文件或者隱藏文件的話,我們都獲取到了,然后前臺顯示的時候就會出現一些奇怪的東西,所以我們只要有用的圖標。
  2)其次我們拿到圖標名稱后將它們放到數組或者集合中,然后把數組或集合存到application域中
  很明顯,第二步是在監聽器中實現的,第一步我們可以自己新寫一個工具類,也可以在我們之前寫過的fileUploadUtil類中完成。

1.1 獲取圖標名稱

  我們在fileUploadUtil中添加獲取圖標名稱的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@Component("fileUpload")
public class FileUploadUtil implements FileUpload {
 //省略原來的代碼……
 
 //@Value表示去beans.xml文件中找id="prop"的bean,它是通過注解的方式讀取properties配置文件的,然后去相應的配置文件中讀取
 @Value("#{prop.basePath+prop.bankImagePath}")
 private String bankImagePath;
 
 public String[] getBankImage() {
 String[] list = new File(bankImagePath).list(new FilenameFilter() {
 
  //測試指定文件是否應該包含在某一文件列表中
  @Override
  public boolean accept(File dir, String name) {
  System.out.println("dir:" + dir + ",name:" + name); 
  //通過后綴名來實現文件的過濾效果
  //返回真就放到list中,返回假就過濾掉
  return name.endsWith(".gif");
  }
 });
 return list;
 }

  我們加載的是public.properties配置文件,看一下配置文件中的內容:

?
1
2
3
basePath=E\:\\web\\apache-tomcat-8.0.26\\webapps\\E_shop
filePath=\\files
bankImagePath=\\files\\bankImages

  之所以有個basePath是為了便于擴展,而且以后修改的話basePath不需要動。我們繼續看上面那個方法,new File(path).list() 方法是獲取路徑中所有文件名,但是new File(path).list(FilenameFilter filter) 帶有過濾功能,可以過濾掉不想要的文件,只返回想要的文件到數組中。FilenameFilter 接口中只有一個accept方法,所以我們可以用內部類來實現,在里面判斷 一下是否是.gif后綴的文件即可。

1.2 將圖標名稱存入application域

  下面我們在監聽器中將剛剛保存圖標名稱的數組存儲到application域中,這些方法之前都有介紹過,就不多做解釋了,直接看代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//@Component //監聽器是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()); 
 //將存儲銀行圖片的數組放到application中,項目啟動的時候加載
 fileUpload = (FileUpload) context.getBean("fileUpload");
 event.getServletContext().setAttribute("bankImageList", fileUpload.getBankImage());
 }
}

2. 支付頁面顯示

  我們來看一下bank.jsp關于銀行圖標這一塊的代碼,如下:

 
SSH框架網上商城項目第22戰之銀行圖標以及支付頁面顯示 

還有一塊是顯示訂單的相關信息的,從下面的代碼中也可以看出,是從session中拿我們之前備份的訂單信息,原信息在用戶確認訂單跳到支付頁面時已經銷毀了。


SSH框架網上商城項目第22戰之銀行圖標以及支付頁面顯示

3. 測試一下效果

SSH框架網上商城項目第22戰之銀行圖標以及支付頁面顯示

好了,支付頁面顯示正常,下面要完成支付功能了,即上一節用servlet寫的那個demo的功能,只不過現在放到Struts中,并且可能要考慮到一些其他的問題,下一節再寫吧。

原文鏈接:http://blog.csdn.net/eson_15/article/details/51452243

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
503
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 大学生一级毛片在线视频 | av视屏 | av不卡免费观看 | 性片网站 | 久色免费视频 | 羞羞的动漫在线观看 | 97伦理 | 成人羞羞视频在线观看免费 | 最新在线中文字幕 | 91福利免费观看 | 欧美国产一区二区三区 | 日本aaaa片毛片免费观蜜桃 | 婷婷久久青草热一区二区 | 一级毛片播放 | 姑娘第5集高清在线观看 | 久久久久久中文字幕 | www69xxxxx| 亚洲一区二区免费 | 国产成人网 | 久久国产夫妻视频 | 久久久久久久久久网 | 精品成人一区二区三区 | 精品国产99久久久久久宅男i | av影片在线观看 | 久久精品欧美电影 | 成人福利视频网站 | 国产精品久久久久久久亚洲按摩 | 最新午夜综合福利视频 | 国产精品久久久久久模特 | av在线播放地址 | 九九热精品在线 | 婷婷亚洲一区二区三区 | 欧美成人精品一区二区男人小说 | 亚洲αv| 免费黄色在线观看网站 | 精品国产一区二区久久 | 欧美中文字幕一区二区三区亚洲 | 国产精品成人一区二区三区电影毛片 | 色呦呦一区二区三区 | 午夜视频久久久 | 国产手机在线视频 |