Определить правила, вызванные 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));
   }
}
Другие вопросы по тегам