分页实现
<h1><center>分页实现</center></h1>
<p>前端基于Bootstrap的轻量级表格插件 <code>BootstrapTable</code>
后端分页 封装在server类 io.nutz.nutzsite.common.service BaseServiceImpl.Java</p>
<pre><code>javascript
var options = {
url: prefix + "/list",
columns: [{
field: 'id',
title: '主键'
},
{
field: 'name',
title: '名称'
}]
};
$.table.init(options);
</code></pre>
<p>自定义查询条件参数(特殊情况提前设置查询条件下使用)</p>
<pre><code>javascript
var options = {
url: prefix + "/list",
queryParams: queryParams,
columns: [{
field: 'id',
title: '主键'
},
{
field: 'name',
title: '名称'
}]
};
$.table.init(options);
function queryParams(params) {
var search = $.table.queryParams(params);
search.userName = $("#userName").val();
return search;
}</code></pre>
<p>后台逻辑实现</p>
<pre><code class="language-java"> @At
@Ok("json")
public Object list(@Param("pageNum")int pageNum,
@Param("pageSize")int pageSize,
@Param("name") String name,
@Param("beginTime") Date beginTime,
@Param("endTime") Date endTime,
@Param("orderByColumn") String orderByColumn,
@Param("isAsc") String isAsc,
HttpServletRequest req) {
Cnd cnd = Cnd.NEW();
if (!Strings.isBlank(name)){
//cnd.and("name", "like", "%" + name +"%");
}
if(Lang.isNotEmpty(beginTime)){
cnd.and("create_time",">=", beginTime);
}
if(Lang.isNotEmpty(endTime)){
cnd.and("create_time","<=", endTime);
}
return petService.tableList(pageNum,pageSize,cnd,orderByColumn,isAsc,"master");
}
@Override
public TableDataInfo tableList(Integer pageNumber, Integer pageSize, Cnd cnd, String orderByColumn, String isAsc, String linkname) {
Pager pager=null;
if(Lang.isNotEmpty(pageNumber) && Lang.isNotEmpty(pageSize)){
pager = this.dao().createPager(pageNumber, pageSize);
}
if (Strings.isNotBlank(orderByColumn) && Strings.isNotBlank(isAsc)) {
MappingField field = dao().getEntity(this.getEntityClass()).getField(orderByColumn);
if (Lang.isNotEmpty(field)) {
cnd.orderBy(field.getColumnName(), isAsc);
}
}
if (Strings.isBlank(linkname)) {
List<T> list = this.dao().query(this.getEntityClass(), cnd, pager);
return new TableDataInfo(list, this.dao().count(this.getEntityClass(), cnd));
} else {
List<T> list = this.dao().queryByJoin(this.getEntityClass(), linkname, cnd, pager);
return new TableDataInfo(list, this.dao().count(this.getEntityClass(), cnd));
}
}</code></pre>
<p>分页实现</p>
<pre><code class="language-java"> Pager pager=null;
if(Lang.isNotEmpty(pageNumber) && Lang.isNotEmpty(pageSize)){
pager = this.dao().createPager(pageNumber, pageSize);
}</code></pre>
<p>详情参考 nutz文档 <a href="https://nutzam.com/core/dao/pager.html">https://nutzam.com/core/dao/pager.html</a></p>