前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java web开发_购物车数据封装及数据展示

java web开发_购物车数据封装及数据展示

作者头像
Hongten
发布2018-09-13 15:32:27
7270
发布2018-09-13 15:32:27
举报
文章被收录于专栏:HongtenHongten

关看标题,可能大家不是很明白说的是什么意思,不如先看看展示图。

这是在多拿网上面看到的一个加入购物车功能:

当我们点击加入购物车后:

然后查看购物车信息:

最后的效果就是购物车中的信息展示!!!

现在大家有没有明白我要说的是什么东东?如果还是不太明白,那么我就用最简单的语句描述一下:

就是说我们添加了购物车信息,那么我们要怎样把购物车中的信息向上面一样展示出来。

这里就会涉及到数据的封装了。

多的就不用说了,下面直接来做个项目,大家就知道啦...

=============================================================

项目结构:

运行结果;

看到这里,我想大家一定知道我要干嘛了吧....

/ShoppingCart/src/com/b510/Business.java

代码语言:javascript
复制
 1 /**
 2  * 
 3  */
 4 package com.b510;
 5 
 6 import java.util.Date;
 7 
 8 /**
 9  * 商家实体类
10  * 
11  * @date 2012-12-28
12  * @author hongten(hongtenzone@foxmail.com)
13  * 
14  */
15 public class Business {
16 
17     /**
18      * 商家编号
19      */
20     private Integer id;
21     /**
22      * 商家名称
23      */
24     private String name;
25     /**
26      * 创建时间
27      */
28     private Date createDate;
29 
30     public Integer getId() {
31         return id;
32     }
33 
34     public void setId(Integer id) {
35         this.id = id;
36     }
37 
38     public String getName() {
39         return name;
40     }
41 
42     public void setName(String name) {
43         this.name = name;
44     }
45 
46     public Date getCreateDate() {
47         return createDate;
48     }
49 
50     public void setCreateDate(Date createDate) {
51         this.createDate = createDate;
52     }
53 
54 }

/ShoppingCart/src/com/b510/CashTicket.java

代码语言:javascript
复制
 1 /**
 2  * 
 3  */
 4 package com.b510;
 5 
 6 import java.util.Date;
 7 
 8 /**
 9  * 购物券实体类
10  * 
11  * @date 2012-12-28
12  * @author hongten(hongtenzone@foxmail.com)
13  * 
14  */
15 public class CashTicket {
16 
17     /**
18      * 购物券编号
19      */
20     private Integer id;
21     /**
22      * 购物券标题
23      */
24     private String title;
25     /**
26      * 创建时间
27      */
28     private Date createDate;
29 
30     public Integer getId() {
31         return id;
32     }
33 
34     public void setId(Integer id) {
35         this.id = id;
36     }
37 
38     public String getTitle() {
39         return title;
40     }
41 
42     public void setTitle(String title) {
43         this.title = title;
44     }
45 
46     public Date getCreateDate() {
47         return createDate;
48     }
49 
50     public void setCreateDate(Date createDate) {
51         this.createDate = createDate;
52     }
53 
54 }

/ShoppingCart/src/com/b510/MyMap.java

代码语言:javascript
复制
  1 /**
  2  * 
  3  */
  4 package com.b510;
  5 
  6 import java.util.ArrayList;
  7 import java.util.Date;
  8 import java.util.HashMap;
  9 import java.util.Iterator;
 10 import java.util.List;
 11 import java.util.Map;
 12 import java.util.Set;
 13 
 14 /**
 15  * 测试类
 16  * 
 17  * @date 2012-12-28
 18  * @author hongten(hongtenzone@foxmail.com)
 19  * 
 20  */
 21 public class MyMap {
 22 
 23     public static void main(String[] args) {
 24         // 封装元数据
 25         Map<Business, CashTicket> orgData = new HashMap<Business, CashTicket>();
 26         // 商家b1
 27         Business b1 = new Business();
 28         b1.setId(1);
 29         b1.setName("b1");
 30         b1.setCreateDate(new Date());
 31 
 32         // 商家b1的克隆(和商家b1是一样的,只不过名称不同罢了)
 33         Business clone_b1 = new Business();
 34         clone_b1.setId(1);
 35         clone_b1.setName("b1");
 36         clone_b1.setCreateDate(new Date());
 37 
 38         // 商家b2
 39         Business b2 = new Business();
 40         b2.setId(2);
 41         b2.setName("b2");
 42         b2.setCreateDate(new Date());
 43 
 44         // ////////////////////////////////////////////////////
 45         // 购物券c1
 46         CashTicket c1 = new CashTicket();
 47         c1.setId(1);
 48         c1.setTitle("c1");
 49         c1.setCreateDate(new Date());
 50         // 购物券c2
 51         CashTicket c2 = new CashTicket();
 52         c2.setId(2);
 53         c2.setTitle("c2");
 54         c2.setCreateDate(new Date());
 55         // 购物券c3
 56         CashTicket c3 = new CashTicket();
 57         c3.setId(3);
 58         c3.setTitle("c3");
 59         c3.setCreateDate(new Date());
 60 
 61         // ////////////////////////////////////////////////////
 62         // 下面的意思是构造元数据:也即商家b1(clone_b1)拥有购物券c1,c3,商家b2拥有购物券c2
 63         // map<b1,c1>
 64         // map<b2,c2>
 65         // map<clone_b1,c3>
 66         // ////////////////////////////////////////////////////
 67         orgData.put(b1, c1);
 68         orgData.put(b2, c2);
 69         orgData.put(clone_b1, c3);
 70 
 71         getMapInfo(getMap(orgData));
 72     }
 73 
 74     /**
 75      * 封装数据
 76      * 
 77      * @param orgData
 78      *            元数据
 79      * @return
 80      */
 81     public static Map<Business, List<CashTicket>> getMap(
 82             Map<Business, CashTicket> orgData) {
 83         Map<Business, List<CashTicket>> resultMap = new HashMap<Business, List<CashTicket>>();
 84 
 85         Set<Business> orgDataKeys = orgData.keySet();
 86         Iterator<Business> orgIterator = orgDataKeys.iterator();
 87         Business org_business = null;
 88         while (orgIterator.hasNext()) {
 89             // 获取元数据中的商家business
 90             org_business = orgIterator.next();
 91             // 获取元数据中的商家business对应的购物券
 92             CashTicket org_cashTicket = orgData.get(org_business);
 93             // ////////////////////////////////////////////
 94 
 95             // 现在加入一个business和一个cashTicket
 96             Set<Business> keys = resultMap.keySet();
 97             // keySet()获得的是一个集合中所有的键对象
 98             Iterator<Business> it = keys.iterator();
 99             Business key_business = null;
100             boolean flag = false;
101             while (it.hasNext()) {
102                 key_business = it.next();
103                 if (key_business.getId() == org_business.getId()) {
104                     flag = true;
105                 }
106             }
107             if (flag) {
108                 resultMap.get(key_business).add(org_cashTicket);
109             } else {
110                 List<CashTicket> value_cashTicket = new ArrayList<CashTicket>();
111                 value_cashTicket.add(org_cashTicket);
112                 resultMap.put(org_business, value_cashTicket);
113             }
114         }
115         return resultMap;
116     }
117 
118     /**
119      * 打印出map中的信息
120      * 
121      * @param map
122      */
123     public static void getMapInfo(Map<Business, List<CashTicket>> map) {
124         Set<Business> end_keys = map.keySet();
125         // keySet()获得的是一个集合中所有的键对象
126         Iterator<Business> it = end_keys.iterator();
127         while (it.hasNext()) {
128             Business key_business = it.next();
129 
130             List<CashTicket> value_cashTicket = map.get(key_business);
131             // 通过键来取得Map中的值
132             System.out.println("商家:id : [" + key_business.getId() + "] name : "
133                     + key_business.getName() + "]");
134             for (CashTicket ct : value_cashTicket) {
135                 System.out.println("          现金券: id :[" + ct.getId() + "] title : ["
136                         + ct.getTitle() + "]");
137             }
138             System.out.println("==================================");
139         }
140     }
141 }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-12-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档