Я пишу веб-приложение, и я использую JSF 2.0 и hibernate 3.5. Моя проблема заключается в том, что я хотел бы добавить компонент, который он не вводит.JSF @ManagedProperty не вводится
Это класс я хотел бы внедрить (я скопировал только важные детали):
@ManagedBean(name="permissionBean", eager = true)
@SessionScoped
public class PermissionBean {
private List<Role> rolesList;
public PermissionBean(){
refresh();
}
private void refresh(){
rolesList = Role.queryRolesList();
}
public void test(){
System.out.println("__________TEST ");
}
//getter setter for the rolesList
}
В это:
@ManagedBean(name="triggerBean")
@SessionScoped
public class Trigger extends EmptyInterceptor {
@ManagedProperty(value="#{permissionBean}")
public PermissionBean pb;
public void onDelete(..) {
pb.test();
}
public void setPb(PermissionBean pb) {
System.out.println("______setting bean");
this.pb = pb;
}
}
Второй класс является классом перехватчик для спящего режима. Программа запускается и работает, я уверен, что PermissionBean создается, потому что я использую в нем методы, я вижу список. Но когда я пытаюсь удалить из него, и триггеры функции onDelete()
, я получил исключение нулевого указателя (на этой строке, где я вызываю pb.test()
). После некоторых попыток я поставил тестовую запись в сеттер, но этот метод никогда не вызывается.