Я вижу, что то же самое происходит в AEM 6.4.3. Сразу после сохранения свойства значение можно прочитать, как и ожидалось. Вот несколько быстрых примеров, которые я запустил в консоли AEM Groovy .
def node = getNode('/content/screens/we-retail/apps/virtual-showroom/en/jcr:content')
String[] arr = ['a', 'b', 'c'];
String[] tagArr = ['we-retail:equipment', 'we-retail:activity/biking']
node.setProperty('foo', arr)
println node.getProperty('foo').values // prints the a, b,c tags
node.setProperty('cq:tags', tagArr)
session.save()
println node.getProperty('cq:tags').values // prints the a, b,c tags
println node.getProperty('foo').values // prints the a, b,c tags
Однако, просмотрев страницу в CRXDE, я вижу, что свойство пустое. Этого не происходит, когда используемые вами значения совпадают с существующими тегами в AEM. Например:
def node = getNode('/content/screens/we-retail/apps/virtual-showroom/en/jcr:content')
String[] arr = ['a', 'b', 'c'];
String[] tagArr = ['we-retail:equipment', 'we-retail:activity/biking']
node.setProperty('foo', arr)
println node.getProperty('foo').values
node.setProperty('cq:tags', tagArr)
println node.getProperty('cq:tags').values // prints the we-retail tags
session.save()
println node.getProperty('foo').values
println node.getProperty('cq:tags').values // prints the we-retail tags
и те же значения видны в CRXDE.
Я полагаю, что это поведение контролируется Day CQ Tagging Service (com.day.cq.tagging.impl.JcrTagManagerFactoryImpl
)
Снятие флажка отключит проверку и позволит вам сохранить эти значения. Однако пометка страницы несуществующими тегами вызовет свою долю проблем. Вместо этого я бы предложил создать эти теги перед их использованием.