gpt4 book ai didi

java - 如何在jcr :content/@jcr:data using JCR XPath?中搜索

转载 作者:行者123 更新时间:2023-11-29 03:34:40 27 4
gpt4 key购买 nike

我想在 CQ 5.6 (AEM) 实例中包含的 JCR 存储库中搜索包含给定字符串 xxx 的所有 .jsp 文件。作为 JCR 对 XPath(或 JCR-SQL2)的解释的新手,我在表达查询方面不太成功。

这会得到所有 .jsp 文件:

//*[jcr:contains(., '.jsp')]

这就是我希望如何限制上面包含 xxx.jsp 文件列表:

//*[jcr:contains(., '.jsp')][jcr:contains(jcr:content/@jcr:data, 'xxx')]
//*[jcr:contains(., '.jsp') and jcr:contains(jcr:content/@jcr:data, 'xxx')]
//*[jcr:contains(., '.jsp')]/jcr:content[jcr:contains(@jcr:data, 'xxx')]/..

@jcr:dataBinary 类型。以上似乎都不起作用。我哪里错了?

最佳答案

看起来查询应该在 nt:file 节点上,而不是在 jcr:data 节点上。请参阅 JCR - Jackrabbit - Xpath expression for search content text of a file contained inside a node 的答案.

使用 querybuilder 的快速测试显示了来自 CQ 中 JSP 文件的结果(在本例中,它们包含“/foundation/global.jsp”):

http://localhost:4502/bin/querybuilder.json?type=nt:file&nodename=*.jsp&group.1_fulltext=foundation/global.jsp

给出:

{
success: true,
results: 10,
total: 21,
offset: 0,
hits: [
{
path: "/libs/cq/personalization/components/offerpage/body.jsp",
excerpt: " --%&gt;&lt;%@include file=&quot;/libs/<strong>foundation/global.jsp</strong>&quot;%&gt;&lt;% I18n i18n = new I18n(slingRequest); String icnCls = ...",
name: "body.jsp",
title: "body.jsp",
lastModified: "2013-04-24 11:45:05",
created: "2013-04-24 11:32:58",
size: "3 KB",
mimeType: "text/plain"
},
...
}

关于java - 如何在jcr :content/@jcr:data using JCR XPath?中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16191395/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com