我想将页面复制到目标路径,如下所示:
Page page = "pagePath";
PageManager pageManager = getResourceResolver().adaptTo(PageManager.class);
pageManager.copy(pagePath, pagePath + "/target/newPage", null, true, false);
如果页面“target”存在(即新副本的可能父级),这可以正常工作。但是,如果此页面不存在,则PageManager将抛出异常。
如果已经存在目标,我如何告诉PageManager? (即类似于unix -p
程序中的mkdir
标志。)
答案 0 :(得分:1)
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);