在JSF中,如何使用ELResolver获取托管bean的属性

Jon*_*ott 2 java jsf el managed-bean

我正在研究库中的方法.该方法传递一个bean名称和属性名称,我想使用ELResolver从指定的bean中检索属性的值.由于代码在库中(并且为了灵活性),代码中没有硬编码的bean名称.

这是我正在使用的代码:

elResolver.getValue( facesContext.getELContext(), elResolver.getValue(facesContext.getELContext(), null, myBean ), beanProperty )
Run Code Online (Sandbox Code Playgroud)

bean和属性由myBean和指定beanProperty.

这似乎有效,但有更好的方法吗?我目前正在使用JSF 1.2.

谢谢!

Bal*_*usC 5

看起来很好.另一种方式是

Object value = context.getApplication().evaluateExpressionGet(
    context, String.format("#{%s.%s}", myBean, beanProperty), Object.class);
Run Code Online (Sandbox Code Playgroud)