我有两个自定义控件CustomControlBody和CustomControlTitle。将组件的值从一个自定义控件传递给另一个
CustomControlBody有一个单选按钮。 CustomControlTitle具有基于CustomControlBody中单选按钮的值的计算字段。
如果CustomControlTitle放在CustomControlBody中,那么CustomControlTitle中的计算字段可以很好地看到CustomControlBody上的单选按钮的值。
但为了设计的灵活性,我希望能够将CustomControlTitle和CustomControlBody分别放置在xPage上。但是当我这样做时,CustomControlTitle似乎无法看到CustomControlBody中的单选按钮。
如何将CustomControlBody中的单选按钮的值传递给CustomControlTitle中的计算字段?
感谢。听起来像是viewScope是要走的路。我不知道为什么我没有想到这一点。:)你可以在自定义控件上设置属性。能够从它们动态获取值将是很好的。 – 2012-03-14 19:23:10
Bruce将传递给自定义控件的属性存储在属性图中。所以只要CC有一个ID,你应该能够访问传递给它的任何属性: getComponent(“customControlId”)。getPropertyMap()。get(“propertyName”) – 2012-03-14 19:49:41
如果属性值的toString来作为对ValueBindingImpl的引用(例如[email protected]),这意味着该属性是动态确定的,因此您需要稍微更复杂的表达式来获取值: getComponent (“customControlId”)。getPropertyMap()。get(“propertyName”)。getValue(facesContext) – 2012-03-14 19:52:51