Алгоритм примерно такой:
- получаем текущий Инстансе из FacesContext
- из него получаем контекст EL и контекст ExpressionFactory
- в котором открываем ValueExpression для требуемого бина, через выражение "#{viewScope.YourBeanName}"
- и получаем объект бина функцией getValue()
Всё офигенно просто.)))
Пример:
private TreeTableStateBean getTreeTableStateObject(){
TreeTableStateBean stateBean = null;
FacesContext fctx = FacesContext.getCurrentInstance();
ELContext elctx = fctx.getELContext();
ExpressionFactory elFactory = fctx.getApplication().getExpressionFactory();
ValueExpression ve = elFactory.createValueExpression(
elctx,
"#{viewScope.treeTableStateBean}",
Object.class);
stateBean = (TreeTableStateBean) ve.getValue(elctx);
return stateBean;
}
Ссылка:
ADF Code Corner 84. Dynamically show or hide af:treeTable columns dependent on the disclosed node
Комментариев нет:
Отправить комментарий