最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SSH框架網(wǎng)上商城項(xiàng)目第22戰(zhàn)之銀行圖標(biāo)以及支付頁面顯示

 更新時(shí)間:2016年06月06日 14:58:49   作者:eson_15  
這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項(xiàng)目第22戰(zhàn)之銀行圖標(biāo)以及支付頁面顯示,感興趣的小伙伴們可以參考一下

從上一節(jié)的小demo中我們搞清楚了如何跟易寶對(duì)接以及易寶的支付流程。這一節(jié)我們來做一下支付頁面以及在頁面中導(dǎo)入銀行圖標(biāo)。

1. 存儲(chǔ)銀行圖標(biāo)

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

加載圖標(biāo)的思路是如下:
  1)首先從指定目錄中獲取所有圖標(biāo)的名字,并且過濾掉不需要的文件,這個(gè)過濾很重要,因?yàn)槿绻幸恍┒嘤嗟奈募蛘唠[藏文件的話,我們都獲取到了,然后前臺(tái)顯示的時(shí)候就會(huì)出現(xiàn)一些奇怪的東西,所以我們只要有用的圖標(biāo)。
  2)其次我們拿到圖標(biāo)名稱后將它們放到數(shù)組或者集合中,然后把數(shù)組或集合存到application域中
  很明顯,第二步是在監(jiān)聽器中實(shí)現(xiàn)的,第一步我們可以自己新寫一個(gè)工具類,也可以在我們之前寫過的fileUploadUtil類中完成。

1.1 獲取圖標(biāo)名稱

  我們?cè)趂ileUploadUtil中添加獲取圖標(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() {

  //測(cè)試指定文件是否應(yīng)該包含在某一文件列表中
  @Override
  public boolean accept(File dir, String name) {
  System.out.println("dir:" + dir + ",name:" + name);  
  //通過后綴名來實(shí)現(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

  之所以有個(gè)basePath是為了便于擴(kuò)展,而且以后修改的話basePath不需要?jiǎng)印N覀兝^續(xù)看上面那個(gè)方法,new File(path).list() 方法是獲取路徑中所有文件名,但是new File(path).list(FilenameFilter filter) 帶有過濾功能,可以過濾掉不想要的文件,只返回想要的文件到數(shù)組中。FilenameFilter 接口中只有一個(gè)accept方法,所以我們可以用內(nèi)部類來實(shí)現(xiàn),在里面判斷 一下是否是.gif后綴的文件即可。

1.2 將圖標(biāo)名稱存入application域

  下面我們?cè)诒O(jiān)聽器中將剛剛保存圖標(biāo)名稱的數(shù)組存儲(chǔ)到application域中,這些方法之前都有介紹過,就不多做解釋了,直接看代碼:

//@Component //監(jiān)聽器是web層的組件,它是tomcat實(shí)例化的,不是Spring實(shí)例化的。不能放到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());  
 //將存儲(chǔ)銀行圖片的數(shù)組放到application中,項(xiàng)目啟動(dòng)的時(shí)候加載
 fileUpload = (FileUpload) context.getBean("fileUpload");
 event.getServletContext().setAttribute("bankImageList", fileUpload.getBankImage());
 }
}

2. 支付頁面顯示

  我們來看一下bank.jsp關(guān)于銀行圖標(biāo)這一塊的代碼,如下:

 
前臺(tái)獲取
  

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


訂單信息

3. 測(cè)試一下效果

  下面我們來測(cè)試一下支付頁面的顯示效果,如下:
支付頁面

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

邓州市| 饶平县| 华阴市| 荣昌县| 承德县| 古浪县| 晋江市| 阿瓦提县| 通山县| 东莞市| 沙坪坝区| 西贡区| 芮城县| 葫芦岛市| 新巴尔虎左旗| 淅川县| 海安县| 休宁县| 安达市| 东乌珠穆沁旗| 瑞丽市| 台南市| 托里县| 内丘县| 五寨县| 开阳县| 南部县| 旌德县| 长子县| 张掖市| 六安市| 外汇| 庆阳市| 贵定县| 邹城市| 无棣县| 天祝| 吴堡县| 华容县| 平泉县| 竹山县|