我们在应用程序中通过规则管理器设置了各种 endeca 规则,这些规则在呈现页面时触发。
是否可以通过 Java/JSP 代码确定页面触发了哪个规则?
正确的方法是使用 Content Assembler API (endeca_content.jar)。您需要创建内容查询并检索内容对象:
ContentItem content = results.getContent();
content.getName();
也可以使用导航 API,使用导航对象中的 SupplementList 对象:标题键将代表触发的规则的名称。但是,您是否以任何有意义的方式使用页面构建器,正确的方法是使用 Content Assemble API。
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));
}
}