如果目标目标的父级尚不存在,如何将页面复制到给定路径?

时间:2013-08-22 13:53:31

标签: java cq5 jcr

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

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

如果页面“target”存在(即新副本的可能父级),这可以正常工作。但是,如果此页面不存在,则PageManager将抛出异常。

如果已经存在目标,我如何告诉PageManager? (即类似于unix -p程序中的mkdir标志。)

1 个答案:

答案 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);