gpt4 book ai didi

每次页面访问时的 JSF CDI Bean 初始化

转载 作者:行者123 更新时间:2023-12-04 06:40:58 24 4
gpt4 key购买 nike

我目前正在学习 JSF 2.0,但我不知道每次访问 jsf 页面时如何在我的 CDI bean 中初始化某些内容?

例如,假设在我的情况下,我有一个 CDI bean 用于一个 JSF 页面。在 bean 内部的某个地方,我想查询和初始化某些内容,或者在每次访问页面时检查授权(而不是每次调用 action 方法时)。

我可以将它放入 bean 的构造函数中,但这并不能保证每次调用 jsf 页面时都会调用构造函数?或者我应该在 JSF 页面上使用 #{myBean.initialize()} 调用?

问候,
艾伯特·甘

最佳答案

如果您声明托管 bean @RequestScoped ,然后它将为每个 HTTP 请求创建(是的,正如您用最终用户的话说,这是“每次访问 JSF 页面时”)。您可以在 bean 的构造函数或 @PostConstruct 中完成初始化工作。方法。这与 CDI 无关。

check authorization everytime the page is accessed (not everytime the action method is called).



为此, javax.servlet.Filter 或者很可能是 javax.faces.event.PhaseListener 是一个更好的解决方案。

关于每次页面访问时的 JSF CDI Bean 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4243648/

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