哪里购买网站空间,怎么样从头开始做网站,wordpress文章点赞插件,wordpress模板详解文章目录0.需求分析1.服务端--Dao2.服务端--Service3.服务端--Controller4.前端1#xff09;page_list.vue中增加查询表单2#xff09;page_list.vue中添加数据模型对象3#xff09;在钩子方法中构建siteList站点列5.Api调用1#xff09;修改 cms.js#xff0c;向服务端传…
文章目录0.需求分析1.服务端--Dao2.服务端--Service3.服务端--Controller4.前端1page_list.vue中增加查询表单2page_list.vue中添加数据模型对象3在钩子方法中构建siteList站点列5.Api调用1修改 cms.js向服务端传递查询条件2page_list.vue中页面调用api中的方法0.需求分析
在页面输入查询条件查询符合条件的页面信息。 查询条件如下 站点Id精确匹配 模板Id精确匹配 页面别名模糊匹配 1.服务端–Dao
使用 CmsPageRepository中的findAll(Example var1, Pageable var2)方法实现无需定义
下边测试findAll方法实现自定义条件查询
//自定义条件查询测试
Test
public void testFindAll() {
//条件匹配器
ExampleMatcher exampleMatcher ExampleMatcher.matching();
exampleMatcher exampleMatcher.withMatcher(pageAliase,
ExampleMatcher.GenericPropertyMatchers.contains());
//页面别名模糊查询需要自定义字符串的匹配器实现模糊查询
//ExampleMatcher.GenericPropertyMatchers.contains() 包含
//ExampleMatcher.GenericPropertyMatchers.startsWith()//开头匹配
//条件值
CmsPage cmsPage new CmsPage();
//站点ID
cmsPage.setSiteId(5a751fab6abb5044e0d19ea1);
//模板ID
cmsPage.setTemplateId(5a962c16b00ffc514038fafd);
// cmsPage.setPageAliase(分类导航);
//创建条件实例
ExampleCmsPage example Example.of(cmsPage, exampleMatcher);
Pageable pageable new PageRequest(0, 10);
PageCmsPage all cmsPageRepository.findAll(example, pageable);
System.out.println(all);
}2.服务端–Service
在PageService的findlist方法中增加自定义条件查询代码
/**
* 页面列表分页查询
* param page 当前页码
* param size 页面显示个数
* param queryPageRequest 查询条件
* return 页面列表
*/
public QueryResponseResult findList(int page,int size,QueryPageRequest queryPageRequest){
//条件匹配器
//页面名称模糊查询需要自定义字符串的匹配器实现模糊查询
ExampleMatcher exampleMatcher ExampleMatcher.matching()
.withMatcher(pageAliase, ExampleMatcher.GenericPropertyMatchers.contains());
//条件值
CmsPage cmsPage new CmsPage();
//站点ID
if(StringUtils.isNotEmpty(queryPageRequest.getSiteId())){
cmsPage.setSiteId(queryPageRequest.getSiteId());
} /
/页面别名
if(StringUtils.isNotEmpty(queryPageRequest.getPageAliase())){
cmsPage.setPageAliase(queryPageRequest.getPageAliase());
} /
/创建条件实例
ExampleCmsPage example Example.of(cmsPage, exampleMatcher);
//页码
page page‐1;
//分页对象
Pageable pageable new PageRequest(page, size);
//分页查询
PageCmsPage all cmsPageRepository.findAll(example,pageable);
QueryResultCmsPage cmsPageQueryResult new QueryResultCmsPage();
cmsPageQueryResult.setList(all.getContent());
cmsPageQueryResult.setTotal(all.getTotalElements());
//返回结果
return new QueryResponseResult(CommonCode.SUCCESS,cmsPageQueryResult);
}3.服务端–Controller 4.前端
1page_list.vue中增加查询表单
文件名page_list.vue
!‐‐查询表单‐‐
el‐form :modelparams
el‐select v‐modelparams.siteId placeholder请选择站点
el‐option
v‐foritem in siteList
:keyitem.siteId
:labelitem.siteName
:valueitem.siteId
/el‐option
/el‐select
页面别名el‐input v‐modelparams.pageAliase stylewidth: 100px/el‐input
el‐button typeprimary v‐on:clickquery sizesmall查询/el‐button
/el‐form2page_list.vue中添加数据模型对象
文件名page_list.vue
增加siteList、pageAliase、siteId如下
3在钩子方法中构建siteList站点列
文件名page_list.vue
5.Api调用
1修改 cms.js向服务端传递查询条件 2page_list.vue中页面调用api中的方法