有没有办法以一种可以发送和接收自定义事件的方式将 ManagedBeans 彼此分离——可能是通过(很酷的)FacesContext?!
并非没有将事件添加到组件中,您必须在 JSF 生命周期的事件阶段之前添加它。
我不想将 Beans 作为 ManagedProperty 注入,以减少直接依赖关系
仅仅因为您没有将所需的依赖项注入到您的 bean 中,并不意味着如果您尝试使用事件驱动模型,这些依赖项无论如何都不存在。至少通过注入依赖项,您可以显式声明托管 bean 所依赖的内容。这似乎是一个比您提出的更易于维护的解决方案。
熟悉 Adobe Flex 事件机制的人都知道我的意思以及我对标准化 Web UI 框架的期望。
您期望在 Web 应用程序框架中使用基于桌面的事件驱动模型吗?这是苹果对橘子。Adobe Flex 是一种富 Internet 应用程序,在与外部 Web 服务通信时其行为类似于桌面应用程序。JSF 是由 javascript 和 ajax 支持的基于 Web 的组件的 Web 应用程序框架标准,具有可重用的服务器组件和包括组件事件阶段的服务器生命周期。
请让我知道一种包含在 JSF 规范中的优雅方式,而无需实现另一个框架。
您的语言暗示您认为 JSF 并不优雅,并且您正在积极尝试使其成为不优雅的东西。请不要这样做,您将为自己和任何必须维护您的应用程序的人制造一场噩梦。
JSF 需要一种不同于您习惯的方式来思考 Web 应用程序开发。如果你觉得它很难吃,那么我建议放弃它,转而使用适合你舒适度的 Web 应用程序框架。您提到了 Flex,还有带有 .NET 的 Silverlight。