JSF 2.0では、マネージドBeanを別のマネージドBeanのプロパティに依存性注入(DI)するために、新しい

@ ManagedProperty

アノテーションが使用されています。

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name="message")
@SessionScoped
public class MessageBean implements Serializable {

   //business logic and whatever methods...

}

  • HelloBean.java

    – ”

    messageBean

    “プロパティに ”

    message ** ” Beanを注入します。

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class HelloBean implements Serializable {

    @ManagedProperty(value="#{message}")
    private MessageBean messageBean;

   //must povide the setter method
    public void setMessageBean(MessageBean messageBean) {
        this.messageBean = messageBean;
    }

   //...
}

この例では、

@ ManagedProperty

アノテーションを使用して、setterメソッドを使用して “hello” Bean(

HelloBean.java

)のプロパティ(

messageBean

)に “message” bean(

MessageBean.java



setMessageBean()



  • この注入を成功させるには、injectプロパティ(

    messageBean ** )がsetterメソッドを提供しなければなりません。

ソースコードをダウンロードする

ダウンロードする –

JSF-2-Inject-Managed-Beans-Example.zip

(10KB)

リファレンス

Javadoc]。 link://jsf2/jsf-2-0-managed-bean-x-does-exist-check-that-appropriate-getter-andor-setter-methods-exist/[JSF

2.0:マネージドBean xが存在しない、適切なgetterメソッドおよび/またはsetterメソッドが存在することを確認する]