gpt4 book ai didi

JSF 托管 bean 和托管属性都需要吗?

转载 作者:行者123 更新时间:2023-12-04 09:31:20 25 4
gpt4 key购买 nike

我是 JSF 的新手,我想知道:

如果我有一个 Controller 来处理给定页面的所有工作,并且有一个 bean 来保存所述页面的所有数据,是否有必要同时拥有

@ManagedProperty(value="#{myBean}") 

Controller 上的注释和
@ManagedBean(name="myBean")
@SessionScoped

表单bean上的注释?

最佳答案

JSF 中的托管 bean 用于存储网页的状态。 JSF 实现负责创建和丢弃 bean 对象(因此命名为托管 bean)。

对于您编写的每个类@ManagedBean,bean 对象由 JSF 实现创建,当它检测到使用名称的 bean 时(您可以指定 bean 名称或将其留给 JSF 以使用默认名称类第一个字符的名称更改为小写)。创建的对象放置在指定范围的映射中。每个作用域都有一个映射,用于存储指定了该作用域的 bean 对象。

现在,如果您需要 Controller 中这些 bean 的值,则必须使用 ManagedProperty 注释将其注入(inject)。请注意,您需要为 Controller 提供 managedProperty 的 setter 方法。

因此,要回答您的问题,需要 managedBean 注释来告诉 JSF 实现管理 bean 实例并将值存储在特定于 session 范围的表中。并且需要 ManagedProperty 注释来使用存储在当前 session 中的那个 bean,以便您可以访问它的所有值。

关于JSF 托管 bean 和托管属性都需要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20421229/

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