0

假设我有一个像这样的 inputText:

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

我想修改渲染器,以便如果组件绑定到实现某个接口的 bean,我想渲染一些额外的东西。但是 getValue 只能让我得到 stringProperty,是否也可以访问 bean?

4

1 回答 1

0
  1. 我假设您正在覆盖目标组件系列的渲染器。

  2. 在您的自定义渲染器代码中,您可以调用 component.getValueExpression()(由 UIComponent 定义)。

  3. 获得 ValueExpression 后,您可以对其进行解析以找出返回字符串属性的父对象。

这种方法的缺点是您假设包含 stringProperty 方法类是应该实现您正在寻找的装饰器接口的类。

另一种方法是向每个输入组件添加一个自定义属性 (f:attribute),您可以在渲染器中获取该属性。

希望有帮助。

于 2013-10-10T20:20:47.103 回答