2013-10-09 51 views
0

讓我們說我有一個inputText的,像這樣:JSF - 可能獲得inputText值的有界父對象?

<h:inputText value="#{bean.stringProperty}" /> 

我想修改渲染器,這樣,如果該部件爲界,實行一定inferface一個bean我想這樣做使一些額外的東西。但是getValue只能得到stringProperty,是否也可以訪問這個bean?

回答

0
  1. 我假設您重寫目標組件系列的渲染器。

  2. 在您的自定義渲染器代碼中,您可以調用component.getValueExpression()(由UIComponent定義)。

  3. 一旦你有了ValueExpression你可以解析它來找出返回字符串屬性的父對象。

這種方法的缺點是,你正在一個假設,即包含stringProperty方法類是應該實現裝飾界面,你正在尋找的類。

另一種方法可能是爲每個輸入組件添加一個自定義屬性(f:屬性),您可以在渲染器中獲取該屬性。

希望有所幫助。