gpt4 book ai didi

java - 如何从不是 JSF Bean 的类创建 FacesMessage?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:59 25 4
gpt4 key购买 nike

我是 JSF 的新手,正在为一个问题而苦苦挣扎。我希望有人能帮助我。

问题:

  • 不是 bean 的处理程序检测来自 TCP/IP 管道的消息。
  • 处理程序需要创建一个新的 FacesMessage 以在消息框中显示消息。
  • 由于处理程序不是 bean,FacesContext 返回 null,因此处理程序无法写入 FacesMessage

问题:

  1. 是否有可能做我想做的事?
  2. 将外部消息从不是 bean 的 Java 类传播到 FacesMessage 以便显示在 UI 上的最佳方法是什么?

关于如何解决这个问题有什么想法吗?

最佳答案

FacesContext.getCurrentInstance() 方法仅在您处于实际人脸 session 中时才返回有效的人脸上下文。我认为您应该考虑做的是构建它,以便执行 TCP/IP 消息处理的类为 faces managed bean 提供一种方法来获取有关前端消息的信息,然后从托管 bean 。

根据您使用的应用程序服务器的类型,您可能希望将整个事情设置为通过 EJB session bean 进行交互。但实际上任何支持 bean 或面孔逻辑都应该与与您的 UI 无关的逻辑完全分开。

如果您使用的是符合 JEE6 的应用程序服务器(如 Glassfish),您可以设置一个 @Singleton EJB 来保存一组消息(确保使用支持并发的数据结构)和类似 JCA 套接字( http://code.google.com/p/jca-sockets/) 来处理套接字通信。

关于java - 如何从不是 JSF Bean 的类创建 FacesMessage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11107570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com