java简单分页

来源:互联网 发布:啊哈算法2 pdf 编辑:程序博客网 时间:2024/06/07 03:59
/**     * 查询HDFS文件及目录     *      * @param mapping     * @param form     * @param request     * @param response     * @return     * @throws Exception     */    public ActionForward pageQueryHDFSFile(ActionMapping mapping,            ActionForm form, HttpServletRequest request,            HttpServletResponse response) throws Exception {        // 处理查询参数,并将查询参数放在session中        PageArgument pageArg = this.getPageInfo(request);        String filePath = "";        filePath = request.getParameter("filePath");        IBassBigDataDriverService driverService = (IBassBigDataDriverService) IAMBeanFactory                .getInstance().getBean("BassBigDataDriverService");        JSONObject jsonObject = driverService.queryHDFSFile(filePath);        String result = jsonObject.getString("result");        JSONArray array = JSONArray.parseArray(result);        // 拼装分页信息        JSONObject paegInfoJSON = new JSONObject();        paegInfoJSON.put("totalRowNum", array.size());        paegInfoJSON.put("pageNum", pageArg.getCurPage());        paegInfoJSON.put("pageSize", pageArg.getPageSize());        JSONObject retVal = new JSONObject();        retVal.put("pageInfo", paegInfoJSON);        retVal.put("data", getPageQueryList(pageArg, array));        printJSON(response, retVal.toJSONString());        return null;    }
/**     * 获取分页查询结果     *      * @param pageArg     * @param array     * @return     */    public List getPageQueryList(PageArgument pageArg, JSONArray array) {        List list = new ArrayList();// 结果集合        int curPage = pageArg.getCurPage();// 当前页 1        int pageSize = pageArg.getPageSize();// 每页的记录数 10        int startNum = curPage * 10 - 10;        int endNum = startNum + pageSize;        if (startNum + endNum <= array.size()) {            for (int i = startNum; i < array.size(); i++) {                list.add(array.get(i));            }        } else {            for (int i = startNum; i < array.size(); i++) {                list.add(array.get(i));            }        }        return list;    }
/**     * 获取查询结果总页数     *      * @param count     *            查询结果总记录数     * @param pageSize     *            每页显示记录数     * @return 查询结果总页数     */    private int getTotalPageNum(int count, int pageSize) {        // 使用查询结果总数整除每页记录数,记算总页数        int tmp = count / pageSize;        // 如果不足一页,记为总页数为1        if (tmp == 0) {            return 1;        }        // 如果多于一页,并且最后一页记录数不满一页,则在整除后的页数再加1        int tmp2 = count % pageSize;        if (tmp2 > 0) {            tmp = tmp + 1;        }        return tmp;    }
原创粉丝点击