1

我有一个 applicationScoped bean,我在其中初始化我的 Store。

@ManagedBean(name="applicationBean", eager=true)
    @ApplicationScoped
    public class applicationBean implements Serializable {

     private Store store;

        public applicationBean() {
            store = new Store();
        }

        public Store getStore() {
            return store;
        }  

    }

现在我想把我的商店放在我的另一个 Bean 中。

@ManagedBean(name="productsBean")
@RequestScoped
public class ProductsBean implements Serializable {

    private List <Product> products;

    public ProductsBean(){

    }

}

如何从我的 applicationScoped Bean 调用 getter?

4

1 回答 1

0

只需将@ApplicationScopedbean 作为托管属性注入 ProductsBean 即可。然后,您将能够访问 Store 属性。

@ManagedBean(name="productsBean")
@RequestScoped
public class ProductsBean implements Serializable {

private List <Product> products;

@ManagedProperty(value="#{applicationBean}")
private applicationBean appBean;

public ProductsBean(){

}

}

请记住为属性编写一个设置器,以便 JSF 能够设置它。只是告诉你,Java 语言不鼓励以小写字母 (applicationBean) 开头的类名。

于 2013-01-03T13:36:36.820 回答