Jfinal 分页方法分装
Pageparram POJO类
@Data
public class PageParam {
public PageParam ( ) {
}
public int pageNumber;
public int pageSize;
}
后端使用Jfinal的分页方法,并且对分页方法进行分装代码如下:
public static PageParam GetPageParam ( HttpServletRequest request) {
PageParam pageParam= new PageParam ( ) ;
String pageNumber = request. getParameter ( "pageNumber" ) ;
String pageSize = request. getParameter ( "pageSize" ) ;
if ( pageNumber. equals ( "" ) || pageSize. equals ( "" ) ) {
pageParam. pageSize= 10 ;
pageParam. pageNumber= 1 ;
} else {
pageParam. pageNumber = Integer. parseInt ( pageNumber) ;
pageParam. pageSize = Integer. parseInt ( pageSize) ;
}
return pageParam;
}
public Page< Record> GetPageList ( HttpServletRequest request, String sql, HashMap< String, Object> maps) {
HashMap< String, String> map = BaseService. GetParam ( request) ;
PageParam pageParam = GetPageParam ( request) ;
String sqlbyFile = readSql ( sql, maps) ;
if ( sqlbyFile. startsWith ( "select *" ) ) {
sqlbyFile= sqlbyFile. replace ( "select *" , "" ) ;
}
Page< Record> paginate = Db. use ( Multidb. dbmysql) . paginate ( pageParam. pageNumber, pageParam. pageSize, "select *" , sqlbyFile) ;
Page page= new Page ( ) ;
page. setPageNumber ( paginate. getPageNumber ( ) ) ;
page. setPageSize ( paginate. getPageSize ( ) ) ;
page. setTotalPage ( paginate. getTotalPage ( ) ) ;
page. setTotalRow ( paginate. getTotalRow ( ) ) ;
List< Object> list= new ArrayList < Object> ( ) ;
if ( paginate. getList ( ) . size ( ) > 0 ) {
for ( int i= 0 ; i< paginate. getList ( ) . size ( ) ; i++ ) {
List< Record> list1 = paginate. getList ( ) ;
list. add ( list1. get ( i) . getColumns ( ) ) ;
}
}
page. setList ( list) ;
return page;
}
接口实现类返回分页
override fun getUserList ( req: HttpServletRequest) : RetObj {
try {
val sql= "select * from t_user"
return RetObj ( true , GetPageList ( req, sql, null) )
} catch ( e : Exception) {
e. printStackTrace ( )
return RetObj ( false , e. message)
}
}
返回分页json如下
"code" : 200 ,
"data" : {
"list" : [ { "password" : "21232f297a57a5a743894a0e4a801fc3" , "role_id" : 1 , "id" : "0" , …] ,
"pageNumber" : 1 ,
"pageSize" : 10 ,
"totalPage" : 2 ,
"totalRow" : 13 ,
"firstPage" : true ,
"lastPage" : false
}