Есть ли способ отделить ManagedBeans друг от друга таким образом, чтобы можно было отправлять и получать пользовательские события - возможно, через (крутой) FacesContext ?!
Не без добавления события в компонент, и вам придется добавить его до фазы события жизненного цикла JSF.
Я не хочу внедрять Beansкак ManagedProperty, чтобы уменьшить прямые зависимости
То, что вы не вводите необходимые зависимости в ваш компонент, не означает, что эти зависимости не будут существовать в любом случае, если вы пытаетесь использовать управляемые событиямимодель.По крайней мере, вводя зависимости, вы явно объявляете, от чего зависит управляемый компонент.Похоже, это гораздо более приемлемое решение, чем то, что вы предлагаете.
Те из вас, кто знаком с механизмом событий Adobe Flex, знают, что я имею в виду и чего ожидаю от стандартизированной среды веб-интерфейса.
Ожидаете ли вы модель настольных событий, управляемую событиями, в среде веб-приложений?Это яблоки с апельсинами.Adobe Flex - это многофункциональное интернет-приложение, которое ведет себя как настольное приложение при взаимодействии с внешними веб-службами.JSF - это стандарт платформы веб-приложений для веб-компонентов, работающих на основе javascript и ajax, с многократно используемыми серверными компонентами и жизненным циклом сервера, включающим фазу события для компонентов.
Пожалуйста, дайте мне знать, изящный способвключен в спецификацию JSF без необходимости реализовывать другую инфраструктуру.
Ваш язык подразумевает, что вы не находите JSF элегантным и что вы активно пытаетесь сделать его чем-то таким, чем оно не является.Пожалуйста, не делайте этого, вы создадите кошмар для себя и любого, кто должен поддерживать ваше приложение.
JSF требует иного подхода к разработке веб-приложений, чем вы привыкли.Если вы посчитаете это неприятным, я предлагаю отказаться от него для инфраструктуры веб-приложений, которая соответствует вашему уровню комфорта.Вы упомянули Flex, есть также Silverlight с .NET.