如何在使用“AEM查询”构建器搜索节点时修剪JCR属性值中的额外空间?

时间:2015-12-21 21:17:15

标签: cq5 aem

我有一个带有属性pageID的JCR节点。 pageID的值为" 123"在节点中。我使用以下查询使用pageID propery搜索页面。

queryMap.put("path" , "/content/mysite/pages"); queryMap.put("property" , "pageID"); queryMap.put("property.1_value" , "123");

在AEM中执行此查询时,我没有得到任何结果,因为属性值在JCR节点中有一个额外的空格(" 123")。

1 个答案:

答案 0 :(得分:0)

不确定我们是否可以在搜索过程中忽略此空格,但可以建议您下一个查询参数:

path=/content/mysite/pages
property=pageID
property.operation=like
property.value=123_

查询生成器的这个参数等于下一个xpath查询:

/jcr:root/content/mysite/pages//* 
[
jcr:like(@pageID, '123_') 
]

_代表一个任何符号。因此,此查询将查找具有属性值的节点,如'123''123f'等。因此,此查询不会只找到'123'

此外,您可以使用代表更多符号的_代替%

在这两种情况下,您都应该对结果进行后处理(以删除'123f'等条目。