Я пытаюсь вставить весь управляемый компонент JSF в другой управляемый bean-компонент с помощью аннотации @ManagedProperty
(очень похоже на Possible to inject @ManagedBean as a @ManagedProperty into @WebServlet?, но я впрыскиваю в bean-компонент, а не в сервлет). Это то, что я делаю:Как внедрить весь управляемый bean-компонент с помощью аннотации @ManagedProperty?
@ManagedBean
public class Foo {
@ManagedProperty(value = "#{bar}")
private Bar bar;
}
@ManagedBean
public class Bar {
}
Не работает (JSF 2.0/Mojarra 2.0.3):
SEVERE: JSF will be unable to create managed bean foo when it is
requested. The following problems where found:
- Property bar for managed bean foo does not exist. Check that
appropriate getter and/or setter methods exist.
Можно ли вообще или мне нужно сделать эту инъекцию программно через FacesContext
?
Просто примечание, для xhtml JSF переводит _foo в getFoo и setFoo, для управляемого di вам действительно нужны get_foo и set_foo! – Rob
Другое примечание> Для инъекций требуется только сеттер. Ref> http://www.mkyong.com/jsf2/injecting-managed-beans-in-jsf-2-0/ – Sergio