利用Mybatis的动态sql
数据库正则查找Regx |
前端将搜索内容发送到后端
<form class="navbar-form navbar-left" action="/" method="get">
<div class="form-group">
<input type="text" class="form-control" name="search" placeholder="搜索问题"> </div>
<button type="submit" class="btn btn-default">搜索</button></form>
当并没有进行搜索时,即search==null,这时候正常显示页面。
<ul class="pagination" th:if="${search==null}">
当进行搜索时,即search!=null,这时候显示与搜索问题相关的页面,与此同时,翻页时也将search加入地址。
<ul class="pagination" th:if="${search!=null}">
<a th:href="@{/(page=${page},search=${search})}" th:text="${page}">
后端处理思路
@RequestParam(name = "search",required = false) String search
PagesDTO pagesDTO = questionService.list(search,page,size);
if (StringUtils.isNotBlank(search)){
String[] strings = StringUtils.split(search," ");
search = Arrays.stream(strings).collect(Collectors.joining("|"));
}
Integer totalcount = extMapper.countBySearch(questionQueryDTO);
List<Question> questions = extMapper.selectByearch(questionQueryDTO);
model.addAttribute("pagesDTO", pagesDTO);
model.addAttribute("search", search);