首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JCR XPath在jcr:content/@jcr:data中搜索?

如何使用JCR XPath在jcr:content/@jcr:data中搜索?
EN

Stack Overflow用户
提问于 2013-04-24 19:57:42
回答 1查看 6.8K关注 0票数 1

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

这将为我获取所有.jsp文件:

代码语言:javascript
复制
//*[jcr:contains(., '.jsp')]

这就是我希望限制包含xxx的上述.jsp文件列表的方式

代码语言:javascript
复制
//*[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')]/..

类型为Binary@jcr:data。以上这些似乎都不管用。我哪里错了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-24 21:10:49

看起来查询应该在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"):

代码语言:javascript
复制
http://localhost:4502/bin/querybuilder.json?type=nt:file&nodename=*.jsp&group.1_fulltext=foundation/global.jsp

提供:

代码语言:javascript
复制
{
  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"
    },
...
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16191395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档