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

问题描述:

我正在处理库中的方法。该方法传递一个bean名称和属性名称,我想使用ELResolver从指定的bean中检索属性的值。由于代码在库中(为了灵活性),代码中没有硬编码的bean名称。在JSF中,如何使用ELResolver获得托管bean的属性

这里是我使用的代码:

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

豆子和属性由myBeanbeanProperty规定。

这似乎工作,但有没有更好的方法?我目前正在使用JSF 1.2。

谢谢!

+0

你是什么意思'更好'? – 2011-02-14 18:22:56

+0

我不确定这是否是正确的方法来检索值 – 2011-02-14 18:23:30

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

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