Как в JSF получить свойство управляемого компонента с помощью ELResolver

Я работаю над методом в библиотеке. Методу передается имя компонента и имя свойства, и я хотел бы использовать ELResolver для получения значения свойства из указанного компонента. Поскольку код находится в библиотеке (и для гибкости), в коде нет жестко запрограммированного имени компонента.

Вот код, который я использую:

elResolver.getValue( facesContext.getELContext(), elResolver.getValue(facesContext.getELContext(), null, myBean ), beanProperty )

Компонент и свойства задаются myBean и beanProperty.

Кажется, это работает, но есть ли лучший способ? Я использую JSF 1.2 на данный момент.

Спасибо!


person Jon Onstott    schedule 14.02.2011    source источник
comment
Что вы подразумеваете под «лучше»?   -  person Grzegorz Oledzki    schedule 14.02.2011
comment
Я не уверен, что это правильный способ получить значение   -  person Jon Onstott    schedule 14.02.2011


Ответы (1)


Выглядит хорошо. Другой способ

Object value = context.getApplication().evaluateExpressionGet(
    context, String.format("#{%s.%s}", myBean, beanProperty), Object.class);
person BalusC    schedule 14.02.2011
comment
Отлично, это как раз то, что я искал - person Jon Onstott; 14.02.2011