【发布时间】:2011-10-07 07:53:23
【问题描述】:
我将值表达式存储在带有 f:attribute 标记的 JSF 组件中,例如:
<h:inputText ...>
<f:attribute name="myId1" value="#{bean.prop1}" />
<f:attribute name="myId2" value="#{bean.prop2}" />
<f:attribute name="myId3" value="#{bean.prop3}" />
</h:inputText>
有没有办法以编程方式访问所有这些值表达式? (不知道名称 myId1、myId2、...)
JSF 2.1 规范的第 9.4.2 节说这些值存储在“组件的 ValueExpression Map 中”。 这是完整规范中唯一出现的术语“ValueExpression Map”。 如何访问该地图?
在 Jboss/Mojarra 实现的 UIcomponent 的方法 getValueExpression() 中映射
getStateHelper().get(UIComponentBase.PropertyKeys.bindings)
用于获取单个值表达式。
我猜该地图是“ValueExpression Map”的超集? 我能否确定所有实现和所有继承的(标准)组件都使用该映射来存储 ValueExpressions?
谢谢。
【问题讨论】:
标签: jsf