1.搜索分页
一.需求分析
- 实现搜索分页功能,每页显示30条记录。实现商品列表下方分页栏。
二.分页语法与代码
- 分页语法
需求:每页显示30条记录,查询第3页内容。分页语法如下: - 分页代码
需求:每页显示30条记录,查询第3页内容。分页代码如下:
三.分页查询逻辑
- 实现思路:前端向后端传递参数 pageNo (页码)
- 修改SkuSearchServiceImpl的search方法,添加代码
- 修改SearchController的search方法,添加代码
四.页码渲染
- 实现思路:后端逻辑根据总记录数和每页记录数计算总页数,模板根据总页数渲染生成页码。
- 修改SkuSearchServiceImpl的search方法,添加代码
- 修改SearchController的search方法,添加代码
- 修改search.html页码部分
numbers.sequence(开始索引,截至索引)可以产生从开始索引到截至索引的数组
五.页码数量控制
- 我们刚才的代码显示页码会全部显示,如果页码很多,也不利于显示,所以,我们可以显示当前页前后的5个页码即可
- 修改SearchController的search方法,添加代码
- 修改search.html 的页码部分
六.上一页与下一页
- 修改search.html 上一页
- 下一页
2.搜索排序
一.需求分析
- 实现按销量排序、新品排序、评论排序和价格排序
二.排序语法与代码
- 排序语法
需求:按价格升序排序,语法如下:
如果是降序,则指定order为desc - 排序代码
需求:按价格升序排序,代码如下:
如果是降序,则指定为SortOrder.DESC
三.销量排序
- 修改SearchController的search方法,添加代码
- 修改SkuSearchServiceImpl的searchList方法,添加代码
- 修改search.html 的排序标签
四.新品排序
- 修改search.html 的排序标签
同三.3中 修改searchMap.sort == 'createTime' &sort=createTime
五.评论排序
- 修改search.html 的排序标签
同三.3中 修改searchMap.sort == 'commentNum' &sort=commentNum
六.价格排序
- 修改search.html 的排序标签
3.搜索高亮
一.需求分析
- 所谓高亮,就是使用特别的样式修饰某字段中包含的搜索关键字。
需求:实现搜索高亮,商品名称使用红色显示搜索关键字。
二.高亮语法与代码
- 高亮语法
使用默认高亮显示来获取每个搜索命中title字段的高亮显示,在指定title字段的查询请求中包含高亮显示对象。
执行查询
自定义高亮 执行查询: - 高亮代码
高亮设置:
获取高亮结果:
三.代码实现
- 修改SkuSearchServiceImpl的search方法,在第一个代码块中添加高亮显示处理代码
- 商品列表部分代码
- 修改模板中商品名称部分