Stream-Query Stream-Query
首页
  • 项目初衷与诞生
  • 介绍
  • 快速上手
  • 目录结构
  • core模块

    • Opp
    • Sf
    • Map
    • Steam
    • TreeHelper
    • HighlightHelper
    • ReflectHelper
    • BeanHelper
  • plugin模块

    • Database
    • One
    • Many
    • OneToOne
    • OneToMany
  • 安装

    • 通过Maven安装
    • 通过Gradle安装
    • 下载jar安装
    • 通过源码编译
  • 动态mapper

    • 指定package
    • 指定注解
    • 指定接口
    • 指定实体类
  • 团队成员
  • dromara
  • 社区周边
  • 成为开发成员
  • 项目问题

    • 最新版本依赖下载失败
    • 项目编译报错
    • 如何贡献代码
    • 如何贡献文档
    • 使用本项目需要的前置知识
  • 其他问题

    • 作者是在全职维护开源吗
    • 你们这是个什么团队啊
    • 和其他类似的开源项目有什么区别
赞助
  • 1-5-0-alpha
  • 1-6-0-alpha
  • 1-7-0-alpha
  • 1-8-0
  • 1-9-0
  • 1-9-1
  • 2.0.0-alpha+001
  • 2.0.0-alpha+002
  • 2.0.2
Source (opens new window)
首页
  • 项目初衷与诞生
  • 介绍
  • 快速上手
  • 目录结构
  • core模块

    • Opp
    • Sf
    • Map
    • Steam
    • TreeHelper
    • HighlightHelper
    • ReflectHelper
    • BeanHelper
  • plugin模块

    • Database
    • One
    • Many
    • OneToOne
    • OneToMany
  • 安装

    • 通过Maven安装
    • 通过Gradle安装
    • 下载jar安装
    • 通过源码编译
  • 动态mapper

    • 指定package
    • 指定注解
    • 指定接口
    • 指定实体类
  • 团队成员
  • dromara
  • 社区周边
  • 成为开发成员
  • 项目问题

    • 最新版本依赖下载失败
    • 项目编译报错
    • 如何贡献代码
    • 如何贡献文档
    • 使用本项目需要的前置知识
  • 其他问题

    • 作者是在全职维护开源吗
    • 你们这是个什么团队啊
    • 和其他类似的开源项目有什么区别
赞助
  • 1-5-0-alpha
  • 1-6-0-alpha
  • 1-7-0-alpha
  • 1-8-0
  • 1-9-0
  • 1-9-1
  • 2.0.0-alpha+001
  • 2.0.0-alpha+002
  • 2.0.2
Source (opens new window)
  • 指南

    • 快速上手
    • 模块介绍
    • 项目初衷与诞生
  • core

    • Opp
    • Sf
    • TreeHelper
    • LighHight
      • FoundWord
      • HighlightHelper
        • highlight(无需条件构造方法,直接传入数据)--->(推荐)
        • highlight
      • 测试用例地址
    • LambdaHelper
    • Steam
    • Maps
    • ReflectHelper
    • BeanHelper
  • plugin

    • DataBase
    • One
    • Many
    • OneToOne
    • OneToMany
    • QueryCondition
    • safe-mode
  • 配置

  • 指南
  • core
臧臧
2023-04-18
目录

LighHight

# 两个核心类

  • HighlightHelper
  • FoundWord

# FoundWord

条件构造类--> 配合HighlightHelper使用 高亮我们一般会对接别人的接口或者自己写的方法,我们在进行条件构造的时候一般会使用两个参数的构造方法 第一个参数传我们想要高亮的数据,第二个参数传我们数据的坐标,对接接口的时候一般都会返回下标。然后如果自己写的话可以配合Hutool的DfaUtil使用,也可以自己实现

String text = "我有一颗大土豆,刚出锅的";// 假如需要让`大`和`出锅`高亮,我们可以这样去构造条件
List<FoundWord> foundWords = Steam.of(
    new FoundWord("大", 4),
    new FoundWord("出锅", 9)
).toList();

这样的话条件就构造好啦下面我们使用HighlightHelper去自定义实现高亮处理

# HighlightHelper

自定义高亮处理,同样使用lambda表达式 有个场景我们需要让上边FoundWord构造的条件数据在html中变成红色,我们可以这样去使用

# highlight(无需条件构造方法,直接传入数据)--->(推荐)

此方法会自动进行构造条件,我们只需要传入我们想要高亮的数据即可

String text = "我有一颗大土豆呀,大土豆,刚出锅的,刚出锅";
        String highlight =
        HighlightHelper.highlight(
        text,
        s -> "<span style='color:red'>" + s + "</span>",
        Lists.of("刚出锅", "土豆", "出锅", "大土豆呀", "的"));
        
        out: "我有一颗<span style='color:red'>大土豆呀</span>,大<span style='color:red'>土豆</span>,<span style='color:red'>刚出锅的</span>,<span style='color:red'>刚出锅</span>"

这就是我们的高亮处理的使用,支持多数据高亮和自定义高亮处理

# highlight

  1. 第一个参数是我们的原始数据
  2. 第二个参数是FoundWord集合
  3. 第三个参数是函数式接口UnaryOperator(表示一个操作,它接收一个参数并返回与其输入参数相同类型的结果)
String highlight = HighlightHelper.highlight(text, foundWords, s -> "<span style='color:red'>" + s + "</span>");
out --> 我有一颗<span style='color:red'>大</span>土豆,刚<span style='color:red'>出锅</span>的

# 测试用例地址

OneToManyTest (opens new window)

上次更新: 2024/03/29, 09:17:32
TreeHelper
LambdaHelper

← TreeHelper LambdaHelper→

Theme by Vdoing | Copyright © 2023-2024 阿超 | Apache License, Version 2.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式