商品分类信息和商品信息展示相关
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查询数据库.