Проблема со ссылками на управляемый компонент JSF2: инъекция CDI? - PullRequest
0 голосов
/ 29 июля 2011

У меня есть управляемый компонент:

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

, который создает экземпляр класса / компонента (это не управляемый компонент, это стандартный класс):

com.package.class variableName = new com.package.class(); 

& aколичество объектов, созданных / установленных из этого класса, например:

variableName.setCached( true );

И у меня есть еще один компонент, который на данный момент называется просто:

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

, и в основном я хочу сослаться/ реализовать экземпляр 'variableName' в моем testBean следующим образом:

    if( !( variableName.isCached() ) )
     {
        System.out.println( "cry yourself to sleep foo..");
     }
  else
    { 
        System.out.println( "your not as useless as you look");
    }

Из того, что я видел, выглядит, как будто я ищу Bean Injection?Однако у меня это еще не получилось, поэтому я надеялся, что кто-нибудь может привести в действие быстрый пример, чтобы я знал, что я на верном пути!

Приветствия

Ответы [ 2 ]

0 голосов
/ 29 июля 2011

следующий код в testBean

private configBean configBean;

@ManagedProperty(value="configBean")
public configBean getConfigBean()
{
    return configBean;
}

public void setConfigBean(configBean configBean)
{
    this.configBean = configBean;
}

Затем вы можете получить доступ к variableName с помощью

configBean.getVariableName();
0 голосов
/ 29 июля 2011

Так как configBean и testBean являются управляемыми bean-компонентами, вы можете ссылаться на них следующим образом:

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

   @ManagedProperty(value="#{configBean}")
   private ConfigBean configBean;

   ....

   ... configBean.getVariableName().isCached()...
}
...