gpt4 book ai didi

java - JSF : how to force creating a new managed bean instance for every browse instance

转载 作者:行者123 更新时间:2023-12-02 08:29:30 25 4
gpt4 key购买 nike

我正在使用 .我的托管 bean 是在 session 范围中定义的。当我打开一个新浏览器时,托管 bean 的构造函数第一次被调用。但之后,当我打开另一个浏览器实例时,我直接看到该方法被调用,而不是通过托管 bean 的构造函数。

有没有一种特定的方法可以为jsf中的每个浏览器实例创建一个新的托管bean实例

感谢任何帮助

鲍勃

最佳答案

“问题”出在您的网络浏览器中。它在所有实例/窗口/选项卡之间共享相同的 session 。这是正常行为。在 JSF 2.x 中,您可以通过将 bean 放在 view 中来“修复”此问题。作用域,只要您每次提交并导航回同一 View ,该 bean 就会保持 Activity 状态。在 JSF 1.x 中,缺少 view范围,您可以通过将 bean 放置在 request 中来实现所需的行为。范围并使用 Tomahawk's <t:saveState> ,或RichFaces' <a4j:keepAlive> ,或JBoss Seam对话范围,或 MyFaces Orchestra .

同样,这个问题不是 JSF 特有的。标准 HTTP 规范根本不提供任何方法来区分客户端状态(新实例、选项卡或窗口)与服务器端。

关于java - JSF : how to force creating a new managed bean instance for every browse instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3783309/

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