繁体   English   中英

JSF2中ManagedBean之间的事件处理机制?

[英]Event handling mechanism between ManagedBeans in JSF2?

有没有一种方法可以将ManagedBeans彼此分离,从而可以发送和接收自定义事件-可能通过(很酷的)FacesContext? 我不想将Bean作为ManagedProperty注入,以减少直接依赖关系。 不幸的是,@ ListenerFor和所有其他新功能仅适用于组件和渲染器,并且似乎完全是错误的方法。

那些熟悉Adobe Flex事件机制的人知道我的意思和对标准Web UI框架的期望。

请让我知道JSF规范中包含的一种优雅的方式,而无需实现另一个框架。

有没有一种方法可以将ManagedBeans彼此分离,从而可以发送和接收自定义事件-可能通过(很酷的)FacesContext?

并非没有将事件添加到组件中,您必须在JSF生命周期的Event阶段之前添加它。

我不想将Bean作为ManagedProperty注入,以减少直接依赖

仅仅因为您没有将所需的依赖项注入到bean中,并不意味着如果您尝试使用事件驱动的模型,这些依赖项就不会存在。 至少通过注入依赖项,您可以显式声明托管bean所依赖的对象。 这似乎是一个比您提议的解决方案更可维护的解决方案。

那些熟悉Adobe Flex事件机制的人知道我的意思和对标准Web UI框架的期望。

您是否希望Web应用程序框架中基于桌面的事件驱动模型? 这是苹果到橙子。 Adobe Flex是一个Rich Internet Application,在与外部Web服务进行通信时其行为类似于桌面应用程序。 JSF是用于由javascript和ajax支持的基于Web的组件的Web应用程序框架标准,具有可重用的服务器组件和服务器生命周期,其中包括组件的事件阶段。

请让我知道JSF规范中包含的一种优雅的方式,而无需实现另一个框架。

您的语言意味着您觉得JSF不够优雅,并且您正在积极尝试使它变得不那么优秀。 请不要这样做,您将为自己和任何需要维护您的应用程序的人制造噩梦。

JSF要求的Web应用程序开发方法与您习惯的方法不同。 如果您觉得它不受欢迎,那么我建议您将其放弃,以适合您的舒适程度的Web应用程序框架。 您提到了Flex,也有带有.NET的Silverlight。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM