zoukankan      html  css  js  c++  java
  • Http请求纯后台简单实现分页并返回JSON格式

    1、实体层

    package com.eccap.es.model;
    
    import java.util.List;
    
    /**
     * 分页信息
     * 
     * @author chaohui.yan
     * @date 2019-06-10
     *
     */
    public class Pagefenye<T> {
        // 你页面需要展示的集合
        private List<T> list;
        // 总页数
        private int totalPage;
    
        // 当前页
        private int currentPage;
        // 每页显示的数目 (为了防止硬编码可以写在配置文件中)
        private int pageSize;
    
        public Pagefenye(int totalNum, int currentPage, int pageSize, int pageNo) {
            this.currentPage = currentPage;
            this.pageSize = pageSize;
            /*this.pageNo = pageNo;*/
    
            // 计算总页数
            if (totalNum % this.pageSize == 0)
                this.totalPage = totalNum / this.pageSize;
            else
                this.totalPage = (totalNum / this.pageSize) + 1;
        }
    
        public List<T> getList() {
            return list;
        }
    
        public void setList(List<T> list) {
            this.list = list;
        }
    
        public int getTotalPage() {
            return totalPage;
        }
    
        public void setTotalPage(int totalPage) {
            this.totalPage = totalPage;
        }
    
        public int getCurrentPage() {
            return currentPage;
        }
    
        public void setCurrentPage(int currentPage) {
            this.currentPage = currentPage;
        }
    
        public int getPageSize() {
            return pageSize;
        }
    
        public void setPageSize(int pageSize) {
            this.pageSize = pageSize;
        }
    
    }

    2、Dao层select * from 表名 查询

    3、service层

        @Autowired
        private EsEntPermitManager esEntPermitManager;
        
        public Pagefenye<T> findAllUsersByPage(int currentPage, int pageSize) {
            List<T> users =“调用查询方法”;//esEntPermitManager.fenye();
            Pagefenye<T> pageInfo = new Pagefenye<>(users.size(), currentPage, pageSize, 5);
            
            //判断是否是最后一页,如果最后一页就显示最后一页的几条,不是最后一页就显示pageSize条
            if(currentPage==pageInfo.getTotalPage())
                pageInfo.setList(users.subList((currentPage-1)*pageSize, users.size()));
            else {
                pageInfo.setList(users.subList((currentPage-1)*pageSize, (currentPage-1)*pageSize+pageSize));
            }
            return pageInfo;
        }

    4、controller层

        public void Pagefenye() {
                   

          //将浏览器的编码设置为Utf-8
          this.getResponse().setContentType("text/plain; charset=UTF-8");

         //接收当前页
            String pageNo = this.getParameter("pageNo");
                    //String 转 int
            int isd = Integer.parseInt(pageNo);
            String stg = null;
                    //调用业务层方法并传入当前页,每页展示多少条
            Pagefenye<T> list = pagefenyeManager.findAllUsersByPage(isd,100);
            try {    
                           //获取查询结果转为json并展示空值
                stg = JSON.toJSONString(list,SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue);
                System.out.println(stg);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
         //打印输出文本格式的(包括html标签)页面展示值

          this.getResponse().getWriter().write(stg);
          this.getResponse().getWriter().flush();
          this.getResponse().getWriter().close();

        }        
  • 相关阅读:
    ALV控件的简单案例之二:自定义ALV…
    上传文件时显示选择窗口
    RZ10设置ECC系统参数
    下载时,弹出下载地址选择窗口
    使用程序实现多client切换
    ALV控制某列的颜色
    WebService&nbsp;创建&nbsp;&nbsp;发布&nbsp;调用整个流…
    出口增强&nbsp;以EXIT_SAPLSZAR_001为例
    使用SAP&nbsp;memory&nbsp;调用标…
    FunctionModel调用ALV时,自定义工…
  • 原文地址:https://www.cnblogs.com/yanchaohui/p/10996433.html
Copyright © 2011-2022 走看看