Я использую сторонний компонент JSF 2.0 (Primefaces 3.0 FileUpload), который определяет свое собственное пользовательское событие. На стороне сервера подпись обработчика выглядит так:
public void handleFileUpload(FileUploadEvent event)
Проблема в том, что моя форма построена динамически и может содержать десятки отдельных элементов управления FileUpload, и мне нужно знать, КАКОЙ из элементов управления fileupload сгенерировал событие.
На самом деле, мне не нужно знать, какой именно, мне просто нужен "var", который был в пользовательском интерфейсе: repeat, который вызвал создание конкретного элемента управления FileUpload. С обычными контроллерами я мог бы просто передать нужную мне переменную, но этот сторонний компонент использует механизм обработки событий, а не контроллер, и, как я не знаю, как работать с событиями JSF 2.0, я не знаю как добраться до POJO, учитывая только событие.
Я вижу, что в событии есть метод getComponent (), который сообщает мне UIComponent, но после осмотра я не вижу простого способа добраться до контекстных переменных или даже способа генерировать свое собственное выражение EL оценивать, чтобы получить контекстные переменные.
Таким образом, вопрос сводится к ... учитывая только событие, как я могу получить контекстные переменные в области видимости для конкретного компонента, по которому щелкнули?