Я хочу зарегистрировать более одного EventHandler в портлете в моем portlet.xml.

Сейчас это выглядит так:

enter image description here

При попытке добавить второй блок init-param я получаю сообщение об ошибке:

enter image description here

Затем я попытался добавить несколько EventHandler в один блок init-param, но получил эту ошибку:

enter image description here

Могу ли я зарегистрировать более одного класса EventHandler?

Если да, то как это правильно сделать?

0
Daniel Storch 21 Май 2015 в 11:53
Не могли бы вы заменить скриншоты примерами кода в виде текста (см. Контекстную справку, как это сделать)? Таким образом, ваша проблема будет лучше читаться и найдена.
 – 
Tobias Liefke
21 Май 2015 в 17:39

1 ответ

Лучший ответ

Мост ожидает только один обработчик событий, но вы можете создать такой, который делегирует оба экземпляра:

public class BridgeEventHandler {
    private BridgeEventHandler eventHandler1 = new ...;
    private BridgeEventHandler eventHandler2 = new ...;

    public EventNavigationResult handleEvent(FacesContext facesContext, Event event);
        EventNavigationResult result = eventHandler1.handleEvent(facesContext, event);
        if (result != null) {
            return result;
        }
        return eventHandler2.handleEvent(facesContext, event);
    }
}
1
Tobias Liefke 21 Май 2015 в 17:37