我想检查我的网页是否包含特定资源。如果资源只在页面上出现一次,则可以使用
进行检查page.getContentResource("yourResource");
如果为null则表示资源不存在。但问题是我的页面上有多个资源。比如yourResource_1,yourResource_2,yourResource_3 ......如果我删除了yourResource,但我仍然拥有yourResource_1,yourResource_2,yourResource_3。然后我也返回null,因为它只检查“yourResource”
任何建议?
答案 0 :(得分:1)
如果您不知道网页jcr:content
节点的所有潜在子资源的名称,可以使用下面的代码段来检查jcr:content
节点是否包含任何孩子。
import javax.jcr.Node
boolean hasChildren = page.getContentResource().adaptTo(Node.class).hasNodes();
答案 1 :(得分:0)
小注释,getContentResource只返回jcr:content的直接子节点,尽管你可以使用像trunc
这样的相对路径。
我认为唯一的方法是递归深入挖掘资源并检查resourceType。这个问题(未经测试):
trunc
答案 2 :(得分:0)
你可以适应To()ValueMap并检查地图是否有任何属性,即isEmpty():