Как получить свойство managedbean из другого bean-компонента в JSF

Я искал похожие вопросы, но немного запутался. У меня есть страница входа в систему, поэтому LoginBean также;

@ManagedBean(name = "loginBean")
@SessionScoped
public class LoginBean implements Serializable {    
    private String password="";
    private String image="";
    @ManagedProperty(value = "#{loginBeanIdentityNr}")
    private String identityNr="";
...

после успеха переходит на страницу списка заказов, поэтому у меня также есть OrderBean.

@ManagedBean(name = "OrderBean")
@SessionScoped
       public class OrderBean {
            List<Ordery> sdList;

            public List<Order> getSdList() {

                try {

                    String identityNr ="";
                    ELContext elContext = FacesContext.getCurrentInstance().getELContext();
                    LoginBean lBean = (LoginBean) FacesContext.getCurrentInstance().getApplication().getELResolver().getValue(elContext, null, "loginBean");
                    identityNr =lBean.getIdentityNr();
                    sdList = DatabaseUtil.getOrderByIdentityNr(identityNr);
    ...
    }

Мне не нужен весь LoginBean, только ManagedProperty «loginBeanIdentityNr». Но приведенный ниже код не работает (конечно),

identityNr = (String) FacesContext.getCurrentInstance()
                        .getApplication().getELResolver()
                        .getValue(elContext, null, "loginBeanIdentityNr");

на этот раз он возвращает мне null. Я думаю, что если мне нужно целое свойство bean, я могу ввести эти beans, верно? Итак, есть ли у вас предложения по этому подходу? Можно ли использовать ?

17
задан asyard 14 May 2011 в 19:29
поделиться