2011-02-14 104 views
2

我正在處理庫中的方法。該方法傳遞一個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

回答

5

看起來很好。另一種方式是

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