我想将页面复制到目标路径,如下所示:
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);