Определить правила, вызванные endeca
У нас есть различные правила endeca, настроенные с помощью диспетчера правил в нашем приложении, которые запускаются при визуализации страницы.
Можно ли определить, какое правило было запущено для страницы с помощью кода Java/JSP?
1 ответ
Решение
Правильный способ сделать это с помощью API Content Assembler (endeca_content.jar). Вам нужно создать запрос контента и получить объект контента:
ContentItem content = results.getContent();
content.getName();
Также можно использовать API навигации, используя объект SupplementList из объекта навигации: ключ заголовка будет представлять имя сработавшего правила. Однако, если вы используете конструктор страниц каким-либо осмысленным способом, правильным подходом является использование API Content Assemble.
SupplementList sl = nav.getSupplements();
for (Object object : sl) {
Supplement s = (Supplement) object;
PropertyMap map = s.getProperties();
Set keys = map.keySet();
for (Object key : keys) {
logger.info("Sup prop: " + key + " \t" + map.get(key));
}
}