1

ストアを初期化するapplicationScopedBeanがあります。

@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からゲッターを呼び出すにはどうすればよいですか?

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がプロパティを設定できるように、プロパティのセッターを作成することを忘れないでください。また、小文字で始まるクラス名(applicationBean)はJava言語では推奨されていません。

于 2013-01-03T13:36:36.820 に答える