web商城项目笔记-2.商品分类信息和商品信息展示
商品分类信息和商品信息展示相关
1.商品分类信息展示 2.首页商品展示 3.单个商品展示 4.某个分类下 商品展示
1.商品分类信息展示:
1.前端: 1.使用封装ajax发送请求,无需参数 2.返回数据vo的.data属性获取分类对象 3.遍历对象 4.他本身中的cname属性为分类名字 5.拼接字符串,把拼接好的标签追加到div后 2.后端: 1.浏览器没有参数获取,直接调用service查询数据返回list集合 2.使用success方法传递返回的集合 3.dao层查询所有
2.首页商品展示 最热最新商品:
1.前端: 1.发送ajax请求,查询所有没有参数 2.有最热商品和最新商品 一次请求返回两个数据 3.获取返回数据vo的date属性里的hots是热门商品对象 4.获取返回数据vo的date属性里的news是热门商品对象 5.开始遍历 6.拼接字符串获取div,利用idea帮助拼接,注意图片前面部分的路径要保留 7.把div追加进去 2.后端: 1.调用service查询最新商品方法返回list集合 2.调用service查询最热商品方法返回list集合 3.创建一个map集合封装返回的两个list集合 4.由于要剔除不需要的一些元素,只能自己创建ResultVo返回对象 5.创建一个jsonConfig对象 6.调用对象中setExcludes方法 用来剔除你不需要的字段 7.调用JSONObject.fromObject格式化数据 8.把vo和jsonConfig都传进去就可以过滤掉不需要的内容 9.dao层按日期倒叙排列最上面就是最新的 10.由于首页只能显示9个所以使用limit0,9
json工具类在帮你拼接json字符串 遇见date类型 会把date类型作为对象解析 如果你date类型 只有部分数据 那么会解析失败 解决两个方案:
方案一:
忽略它
jsonconfig=new jsonConifg();
jsonconfig.setExclude(new String[]{"忽略的字段名",,,,,,})
调用重载方法
jsonobject.fromObject(obj,jsonConfig);
方案二:
告诉要解析什么格式
使用JSONUtil工具类
getConfigWithDateProcessor方法指定格式
(yyyy-MM-dd)
获得一个config对象
调用重载方法
jsonobject.fromObject(obj,jsonConfig);
3.商品详情展示:
1.前端: 在首页中操作: 1.修改商品详情的跳转路径在info.html 2.在跳转路径中拼接参数pid,便可获得对应id的商品详情. 在info.html中操作: 1.需要用pid获取对应的商品信息 2.路径上有pid需要截取字符串,使用封装HM方法 调用getParameterr()传入pid,就可以获取到商品pid 3.使用ajax发送请求,参数传入pid 4.返回数据vo的data字段就是商品product对象 5.给展示信息的标签添加id,获取id便签html()方法替换数据 2.后端: 1.接收请求获取参数 2.调用service传递参数返回product对象 3.剔除页面详情不需要使用的数据 4.自己转换json格式,把product对象和config对象响应回去. 5.dao层用pid查询数据库
4.商品详情页面的分类名字展示:
1.前端: 1.在获取商品信息请求内,获取数据的category字段的cname属性 2.给展示标签添加id属性选中id属性便签,使用html()方法替换数据 2.后端: 1.在service层findbyid方法中,由于要返回category信息 但是一个方法只有一个返回值,所有在product类中添加 一个category字段 2.这样就不直接返回product对象,先穿件一个categorydao实现类 调用他来创建一个findbyid方法,参数传递product.cid 根据cid的值返回一个category对象. 3.把category对象set进product类中,再返回product. 4.categorydao实现类再去实现findbyid方法,根据cid查询数据库.
