在Java中从一个对象生成50个批

在Java中从一个对象生成50个批,java,pagination,Java,Pagination,我的应用程序中出现了一个问题。我想在我的应用程序中实现分页功能,但由于现有的行为,我无法在我的应用程序中实现分页的标准方法 问题:我有一个包含所有数据的bean对象。我想设计一个逻辑,将对象分解为50组。所以,考虑一下,如果我的对象中有5000个配置,我会先把它分解成第一个50,然后在UI上显示。此外,我将不得不继续这一过程,在50个批次中打破450个铰孔配置。有人能告诉我如何继续这个逻辑吗 我的方法:在我现有的代码中,我检查对象的大小。如果是大小数据。如果超过50。我把旗设为真。此标志将在JS

我的应用程序中出现了一个问题。我想在我的应用程序中实现分页功能,但由于现有的行为,我无法在我的应用程序中实现分页的标准方法

问题:我有一个包含所有数据的bean对象。我想设计一个逻辑,将对象分解为50组。所以,考虑一下,如果我的对象中有5000个配置,我会先把它分解成第一个50,然后在UI上显示。此外,我将不得不继续这一过程,在50个批次中打破450个铰孔配置。有人能告诉我如何继续这个逻辑吗

我的方法:在我现有的代码中,我检查对象的大小。如果是大小数据。如果超过50。我把旗设为真。此标志将在JSP/JS中使用,以重新触发DOJO调用以再次获取数据。请查找代码片段

public ActionForward sdconfigLoadServiceGroups(ActionMapping actionMapping,
        ActionForm actionForm, HttpServletRequest servletRequest,
        HttpServletResponse servletResponse) {

    String groupUniqueId = servletRequest.getParameter("groupUniqueId");
    Boolean retriggerRequestFlag = false;

    // Get the ui group
    HashMap sdConfigDetailsHashMap = (HashMap) ((DynaActionForm) actionForm).get(SD_CONFIG_DETAILS);
    TreeMap sdConfigTreeMap = (TreeMap) sdConfigDetailsHashMap.get("SDConfigTree");
    Boolean viewOnly=(Boolean) sdConfigDetailsHashMap.get("ViewOnly");
    Order order = orderManager.getOrder((Long) sdConfigDetailsHashMap.get("OrderId"));

    SDConfigUITab sdConfigUITab = sdConfig2Manager.getTabByGroupUniqueId(groupUniqueId, sdConfigTreeMap);
    SDConfigUIGroup sdConfigUIGroup = sdConfig2Manager.getGroupByGroupUniqueId(servletRequest.getParameter("groupUniqueId"), sdConfigUITab);
    //TODO: Adding logger to check the total number of sections
    logger.info("All Sections==="+sdConfigUIGroup.getSections());
    logger.info("Total Sections?? "+sdConfigUIGroup.getSections().size());
    long size = Long.valueOf(sdConfigUIGroup.getSections().size());
    if (size != 0 && size > 50) {
        sdConfigUIGroup  = loadDynamicConfigs(sdConfigUIGroup);
        retriggerRequestFlag = true;
    }

    servletRequest.setAttribute("retriggerRequest", retriggerRequestFlag); 
    servletRequest.setAttribute("groupUniqueId", servletRequest.getParameter("groupUniqueId"));
    servletRequest.setAttribute("sdConfigUIGroup", sdConfigUIGroup);
    servletRequest.setAttribute("sdConfigUITab", sdConfigUITab);
    servletRequest.setAttribute("sdConfigUITabId", sdConfigUITab.getTabId());
    servletRequest.setAttribute("currentOrderId", order.getOrderId());
    servletRequest.setAttribute("viewOnly", viewOnly);


    return actionMapping.findForward("sdconfigLoadServiceGroups");
}

 public SDConfigUIGroup loadDynamicConfigs(SDConfigUIGroup sdConfigUIGroup) {

     //logic for breaking into batches of 50 goes here

 }
}
欢迎任何建议:)谢谢

保持跟踪

  • 在会话中设置startIndex和fetchCount(取决于生命周期)
  • 在loadDynamicConfigs中,迭代loadDynamicConfigs并每次提取50个部分
  • 下次用户单击“下一步”(如果可用)时,他们将使用最新的startIndex和fetchSize来提取下一批
  • 请注意,页面上的“下一步”链接/按钮应调用另一个映射方法进行分页

您发布的代码有什么问题?目前您已经描述了您的需求,但没有描述您的实际问题。@Duncan。。我无法理解将内容分成50个批次的逻辑。这里需要一些提示。