【问题标题】:When to implement a CDI Event?何时实施 CDI 事件?
【发布时间】:2014-10-15 05:56:45
【问题描述】:

当用户单击 JSF 上的按钮时,托管 bean 接收来自前端的输入值。为了处理请求和响应,何时应该或不应该实施 CDI 事件?例如,要在用户单击前端 JSF 页面上的按钮后将“Hello World”打印回 html 页面,我可以使用事件观察器模型实现 CDI 事件,或者我可以通过许多其他方式执行相同的操作。

我的问题是,将请求处理操作实现为 CDI 事件的合适场景是什么?谢谢。

【问题讨论】:

    标签: jsf events jakarta-ee cdi


    【解决方案1】:

    当用户的请求会影响应用程序的多个部分时,通常您希望使用事件。假设用户更改了他的配置文件中的一些设置,它们是受此更改影响的多个组件,因此您可以触发单个事件,所有这些组件都将能够处理配置更改。

    使用事件的另一个理由是解耦组件,从而减少应用程序中的依赖。

    因此,对于您的示例,对于打印 Hello world 这样的简单操作,事件可能是多余的。

    【讨论】:

    • 如何从数据库中检索一些记录并响应前面的请求?至于“触发单个事件,所有这些组件将能够处理配置更改。”,我可以使用单个方法来处理所有更改的组件吗?
    • 观察者通常被实现为方法,所以这与驻留在类中的方法没有太大区别?
    • 嗯,在 CDI 中它是带有 @Observes 参数的方法,所以它与普通方法并没有什么不同。
    • 很抱歉,您能否澄清第一个问题?我不确定你想要达到什么目的
    猜你喜欢
    • 1970-01-01
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多