jsp购物车思路

来源:互联网 发布:中国软件产业协会 编辑:程序博客网 时间:2024/05/01 11:07

两种实现购物车的思路:

1.使用List和Map实现购物车。

a)购物车的增加功能:

在进行购物时先从session中取出list看是否为空?

如果为null表示第一次购买物品,需要new一个list对象,然后把购物的商品的信息储存到新new出来的一个map对象中,将这个map对象整体存储到list中,在将list存储到session中即可。

如果不为null表示,本次购买商品之前已经购买过商品了,可以取出list中商品进行遍历,在遍历出list中的所有的map,使用本次购买的商品的编号和已经存在的商品的编号循环对比看是否已经买过此类商品?

如果已经买过了,取出商品原来的商品数量,再此基础上增加一个,再存回map中,即可。

如果没有购买过此类商品,那么就新new一个map来存储新类别的商品,然后再把map整体存储到list中,然后在把list存储到session中,即可。

b)购物车的删除功能:

通过删除的超链接,传递所要删除的商品的编号,然后从session中取出list,再从list中遍历出map,遍历的同时开始循环,比较看传递过来的商品编号和已经存在的商品编号哪个是一致的找到一致的,我们就从list中移除掉,然后把list再重新存入到session中即可。

c)购物车中商品数量修改的功能:

再点击修改数量的超链接的时候,需要将商品的编号和要修改为的数量都进行传递,获取商品编号和要修改后的数量,通过要修改的商品的编号去和session中取出的list中遍历出来的map存储的商品编号进行对比,找到一致的商品编号,将其商品的/数量赋予新传递的值,对其进行覆盖即可。

 

2.使用JavaBean和Map实现购物车。

a)购物车的增加功能:

在进行购物时,先从session中取出map,看map是否为空?

如果为null,表示是第一次购物买商品,需要new一个map对象,然后把购物的商品信息存储到新new出来的一个javabean对象中,然后把商品的编号最为键,商品的对象作为值,存储到map中,再把map存储到session中。

如果不为null,表示购物车中之间有过商品,那么将此次购买的商品的编号和map中已有的商品的编号进行对比,看是否已经存在此类商品?

如果存在此类商品,取出此类商品,将数量增加一个再存回map即可。

如果不存在此类商品,就新new一个此类商品的javabean对象,将商品的信息存入javabean中,然后在把对象整体最为值,把商品的编号作为键,存储到map中即可。