jap程序设计 购物车

购物车JavaBean类【Map<商品ID,商品对象>】

商品JavaBean类【商品名、价格、数量】

商品页面,显示若干个商品,可以点击购买按钮,右上角有一个购物车LOGO,点击购物车LOGO弹出内容详情

内容详情里面是购物车里已点击购买按钮后添加上去的记录,并可以修改商品数量。可以移除某个商品记录

并可以统计总价格



最终效果,在一个浏览器不关闭情况下,再开启新标签,同一个网址打开,购物车内容相同

这是利用了Session和Cookiee的机制,把数据存到Session里面,然后在另一个页面可以通过Session获取,比如

//假设所有商品都在这个map里面
Map<商品ID,商品对象> map = new HashMap<>();
session.setAttribute("map", map);

然后在另一个页面

Map<商品ID,商品对象> map = (Map)session.getAttribute("map");

如有帮助,请采纳,十分感谢!

给你实现思路和基本的代码,原理是利用localStorage(关闭浏览器再打开,数据还在),也可以利用session(关闭浏览器后再打开,数据就不见了),望采纳,谢谢
这里你要熟悉js数组的操作,我想你这个应该是学习性质开发,不是企业级的开发,如果你想学习企业级的开发,请v gudufengE,口令:学
1)初始化数据
let goodsList = []
let goodsObj1 = {
id: 10001
'goodsName':'迪克怀表',
stocks: 10,
price: 800
}
goodsList.push(goodsObj1)
goodsList.push(goodsObj2)

localStorage.setItem('goodsList', JSON.stringify(goodsList))
2)展示数据到一个列表
// 如果在另外页面展示,需要取下存储的数据
// let goodsListS= localStorage.getitem('goodsList')
// let goodsList = JSON.parse(goodsListS)
let divHtml = []
for(let i=0; i<goodsList.length; i++){
let item = goodsList[i]
divHtml.push('

' + item.goodsName + '

)
}

let divContainer = document.getElementById('divid')
divContainer.innerHtml = divHtml.join()

  1. 点击购物车以列表形式展示商品详情;然后在列表中的一列中操作商品的添加、修改、删除、统计都是操作goodsList
    添加实现:goodsList.push()
    修改实现:首先获取修改的myid,然后ffor修改goodsList,伪代码:
          let currentGoodsList = []
          for (let i=0; i<goodsList.length; i++){
             let item = goodsList[i]
            if(item.id = myid){
               //这里修改这个item
             item.goodsName = '****'
            }
            currentGoodsList.push(item)
        }
       // 最后更新这个list
       localStorage.setItem('goodsList', JSON.stringify(currentGoodsList))
    
    删除:根修改类似
    let currentGoodsList = []
          for (let i=0; i<goodsList.length; i++){
             let item = goodsList[i]
            if(item.id = myid){
               //这里不执行任何动作,代表删除
            }
            currentGoodsList.push(item)
        }
       // 最后更新这个list
       localStorage.setItem('goodsList', JSON.stringify(currentGoodsList))
    
    统计price: 同样是循goodsList,代码类似上面的

用 cookie session 或者 Web Storage(本地存储)都可以实现

事实上目前真实业务场景下是,你关闭了浏览器,退出账号重新登录,也还是可以看到购物车。。。