当前位置: 首页 > 知识库问答 >
问题:

如何把孩子的孩子排成一排

冯祺
2023-03-14
private static JSONArray getListOfChildPagesAsJSON(Page page) {
    JSONArray pagesArray = new JSONArray();
    try {
        Iterator<Page> childPages = page.listChildren();
        while (childPages.hasNext()) {
            Page childPage = childPages.next();
            JSONObject pageObject = new JSONObject();
            pageObject.put(childPage.getTitle(), childPage.getPath());
            pagesArray.put(pageObject);
        }
    } catch (JSONException e) {
        LOG.error(e.getMessage(), e);
    }
    return pagesArray;
}

这样不仅可以将转移页面的子元素放入数组,还可以将子元素的子元素放入数组。

共有1个答案

富钧
2023-03-14

这是递归的经典案例,比如在文件系统上读取directoy树。我的建议如下:

第一步:将变量JSONArray的作用域从函数更改为类作用域。

public MyClass {
  private JSONArray pagesArray = new JSONArray();
  ...
}

第二步:将返回值更改为void,并通过删除static修改函数。

private void getListOfChildPagesAsJSON(Page page) { }

第三步将缺失的直肠添加到你的身体中。

//JSONArray pagesArray = new JSONArray();
try {
    Iterator<Page> childPages = page.listChildren();
    while (childPages.hasNext()) {
        Page childPage = childPages.next();
        JSONObject pageObject = new JSONObject();
        pageObject.put(childPage.getTitle(), childPage.getPath());
        
        //Add the created object to your array which is class variable 
        this.pagesArray.put(pageObject);
        
        //--Check for each single page for child pages again
        Iterator<Page> childPagesOfChildpage = childPage.listChildren();
        while (childPagesOfChildpage.hasNext()) {
            getListOfChildPagesAsJSON(childPagesOfChildpage.next());
        }
        //--
    }
} catch (JSONException e) {
    LOG.error(e.getMessage(), e);
}

注意:检查儿童age.has儿童()在这里不起作用,因为节点jcr: Content是传递页面的有效子节点。

 类似资料:
  • 孩子王一面二面一起面的;一面全是八股文,答的还算不错。二面问的很多答不出来,问到了v-model原理和扫码登录前后端的实现(我说我有springboot基础)明天补二面面经。 一面面经: 1.自我介绍+项目介绍 2.css盒子模型(标准盒模型、怪异盒模型) 3.flex布局的属性、flex:1的意义 4.说说重绘与重排(区别+优化方案) 5.响应式布局的实现原理 6.ui设计稿为750px。真实窗

  • 问题内容: 我在父容器中有两个子元素,如下所示: 我尝试了以下CSS: 我怎样才能让两个孩子()都达到最高的孩子的身高? 问题答案: 一种解决方案是将后代元素的显示值从更改为:

  • 我试图使我自己的组件,以便我可以在我的应用程序中使用选项卡。然而,我似乎有问题,试图提取我需要的类型的子组件。 我的从不返回“选项卡链接”,它总是返回未定义的,为什么?

  • 我有一张桌子,可以有相同类型的父母。在Java中,子对象可以到达父对象,但父对象没有子对象列表。 在MySQL中,我能够创建以下查询,给我父级的子级和子级,但我无法将其转换为JPAJava。 如何翻译此查询: 在java语言中,使用Criteria builder和Criteria Query,我已经尝试了以下方法: 但这只给了我直接的孩子,没有给我亚孩子。 谢谢你的帮助。 实体:

  • 孩子王一面二面一起面的;一面全是八股文,答的还算不错。二面问的很多答不出来,问到了v-model原理和扫码登录前后端的实现(我说我有springboot基础)明天补二面面经。 一面面经: 1.自我介绍+项目介绍 2.css盒子模型(标准盒模型、怪异盒模型) 3.flex布局的属性、flex:1的意义 4.说说重绘与重排(区别+优化方案) 5.响应式布局的实现原理 6.ui设计稿为750px。真实窗

  • 问题内容: 我在这里有一个简单的设置: 我有一个父组件,该父组件有2个子组件。在第一个子组件中:用户更改输入的值。然后,该更改的值将是我想要从该孩子传递给父对象的道具,以便可以将其传递给与同一父组件相连的另一个孩子。 当前设置的这个,请查看 从用户输入到UI更改的流程:1.在“ Child 1”中:调整一个滑块,将onChange值传递给父组件;2.将此属性(新的滑块值)传递给Parent组件,以