我想将页面复制到目标路径,如下所示:

Page page = "pagePath";
PageManager pageManager = getResourceResolver().adaptTo(PageManager.class);
pageManager.copy(pagePath, pagePath + "/target/newPage", null, true, false);


如果页面“目标”存在(即新副本的原父),则此方法会很好地工作。但是,如果此页面不存在,PageManager将引发异常。

如果尚不存在目标,我如何告诉PageManager应该创建目标? (即类似于Unix -p程序上的mkdir标志。)

最佳答案

PageManager如何知道用于创建“目标”的内容?

为什么不检查目标是否存在,并用自己想要使用的模板自行创建目标?

Page page = "pagePath";
ResourceResolver resourceResolver = getResourceResolver();
Resource parent = resourceResolver.resolve(pagePath + "/target");
PageManager pageManager = resourceResolver.adaptTo(PageManager.class);

if (parent.getResourceType().equals(Resource.RESOURCE_TYPE_NON_EXISTING) {
    pageManager.create(pagePath, "target", "SOME_TEMPLATE_NAME", "SOME_TITLE");
}

pageManager.copy(pagePath, pagePath + "/target/newPage", null, true, false);

09-28 01:43