搜索功能的实现
程序员文章站
2022-05-07 15:20:45
...
Controller层
/**
* Lcsx列表界面
*
* @return
*/
@RequestMapping(value = "/lcsxListUI")
@HtmlTitle(title = "临床舌象")
public String lcsxListUI(Model model, @ModelAttribute("search") LcsxSearch search, @PageableDefault(size = 10)Pageable pageable){
Page<Lcsx> lcsxes = lcsxService.findLcsxPage(search,pageable);
model.addAttribute("page",lcsxes);
return "sysAdmin/lcsx/lcsxListUI";
}
Service
/**
* Lcsx列表界面
*
* @param search
* @param pageable
* @return
*/
public Page<Yggl> findYgglPage(YgglSearch search, Pageable pageable) {
Page<Yggl> ygglPage = ygglRepository.findAll((root, query, cb) -> {
List<Predicate> predicateList = new ArrayList<>();
if (StringUtils.isNotBlank(search.getTsch())) {
predicateList.add(cb.like(root.get("tsch"), "%" + search.getTsch() + "%"));
}
if (search.getKsrq()!= null) {
predicateList.add(cb.greaterThanOrEqualTo(root.get("ksrq"), DateUtils
.parseDate(DateUtils.formatDate(search.getKsrq(), "yyyy-MM-dd") + " 00:00:00")));
}
if (search.getJsrq() != null) {
predicateList.add(cb.lessThanOrEqualTo(root.get("jsrq"), DateUtils
.parseDate(DateUtils.formatDate(search.getJsrq(), "yyyy-MM-dd") + " 23:59:59")));
}
query.where(predicateList.toArray(new Predicate[]{}));
return null;
}, pageable);
return ygglPage;
}
针对封装(vo层)
package org.lf.admin.api.baseapi.vo;
import lombok.Data;
import java.sql.Date;
@Data
public class YgglSearch {
private String tsch;
private Date ksrq;
private Date jsrq;
}
主界面(html)
<div class="list-search">
<form th:action="@{/yggl/ygglListUI}"
class="form-inline input-line" th:method="post" id="search-form" name="searchForm">
<div class="form-group form-group-sm">
<label>特殊称号:</label>
<input type="text" name="tsch" class="form-control width-200" th:value="${search}?${search.tsch}">
</div>
<div class="form-group">
<label>时间范围</label>
<div class="input-group">
<input type="text" class="form-control datepicker-autoclose width-100"
placeholder="yyyy-mm-dd" th:name="ksrq"
th:value="${#calendars.format(search.ksrq,'yyyy-MM-dd')}">
<div class="picker-pos"></div>
<span class="input-group-addon b-0">-</span>
<input type="text" class="form-control datepicker-autoclose width-100"
placeholder="yyyy-mm-dd" th:name="jsrq"
th:value="${#calendars.format(search.jsrq,'yyyy-MM-dd')}">
</div>
</div>
<div class="form-group form-group-sm">
<a href="javascript:void(0)" onclick="searchForm.submit();" class="btn btn-primary btn-sm">查询</a>
</div>
</form>
</div>
下一篇: Scrapy爬虫框架的安装和使用