Day103 Java项目 (SSM+Dubbo)商城(十二) 搜索解决方案-3 分页与排序

1.搜索分页

一.需求分析

  1. 实现搜索分页功能,每页显示30条记录。实现商品列表下方分页栏。

二.分页语法与代码

  1. 分页语法
    需求:每页显示30条记录,查询第3页内容。分页语法如下:
  2. 分页代码
    需求:每页显示30条记录,查询第3页内容。分页代码如下:

三.分页查询逻辑

  1. 实现思路:前端向后端传递参数 pageNo (页码)
  2. 修改SkuSearchServiceImpl的search方法,添加代码
  3. 修改SearchController的search方法,添加代码

四.页码渲染

  1. 实现思路:后端逻辑根据总记录数和每页记录数计算总页数,模板根据总页数渲染生成页码。
  2. 修改SkuSearchServiceImpl的search方法,添加代码
  3. 修改SearchController的search方法,添加代码
  4. 修改search.html页码部分

    numbers.sequence(开始索引,截至索引)可以产生从开始索引到截至索引的数组

五.页码数量控制

  1. 我们刚才的代码显示页码会全部显示,如果页码很多,也不利于显示,所以,我们可以显示当前页前后的5个页码即可
  2. 修改SearchController的search方法,添加代码
  3. 修改search.html 的页码部分

六.上一页与下一页

  1. 修改search.html 上一页
  2. 下一页

2.搜索排序

一.需求分析

  1. 实现按销量排序、新品排序、评论排序和价格排序

二.排序语法与代码

  1. 排序语法
    需求:按价格升序排序,语法如下:

    如果是降序,则指定order为desc
  2. 排序代码
    需求:按价格升序排序,代码如下:

    如果是降序,则指定为SortOrder.DESC

三.销量排序

  1. 修改SearchController的search方法,添加代码
  2. 修改SkuSearchServiceImpl的searchList方法,添加代码
  3. 修改search.html 的排序标签

四.新品排序

  1. 修改search.html 的排序标签
    同三.3中   修改searchMap.sort == 'createTime'    &sort=createTime

五.评论排序

  1. 修改search.html 的排序标签
    同三.3中   修改searchMap.sort == 'commentNum'    &sort=commentNum

六.价格排序

  1. 修改search.html 的排序标签

3.搜索高亮

一.需求分析

  1. 所谓高亮,就是使用特别的样式修饰某字段中包含的搜索关键字。
    需求:实现搜索高亮,商品名称使用红色显示搜索关键字。

二.高亮语法与代码

  1. 高亮语法
    使用默认高亮显示来获取每个搜索命中title字段的高亮显示,在指定title字段的查询请求中包含高亮显示对象。
    执行查询

    自定义高亮 执行查询:
  2. 高亮代码
    高亮设置:

    获取高亮结果:

三.代码实现

  1. 修改SkuSearchServiceImpl的search方法,在第一个代码块中添加高亮显示处理代码
  2. 商品列表部分代码
  3. 修改模板中商品名称部分
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值