У меня есть два настраиваемых элемента управления: CustomControlBody и CustomControlTitle.Передача значения компонента из одного настраиваемого элемента управления в другой
Пользовательский переключатель ControlCode имеет переключатель. У CustomControlTitle есть вычисленное поле, основанное на значении переключателя в CustomControlBody.
Если CustomControlTitle помещен в CustomControlBody, то вычисленное поле в CustomControlTitle может видеть значение переключателя на CustomControlBody просто отлично.
Но для гибкости конструкции я хочу иметь возможность отдельно размещать CustomControlTitle и CustomControlBody на xPage. Но когда я это делаю, CustomControlTitle, похоже, не может видеть переключатель в CustomControlBody.
Как передать значение переключателя в CustomControlBody для вычисленной записи в CustomControlTitle?
Спасибо. Похоже, viewScope это путь. Я не знаю, почему я не думал об этом. :) Вы можете задайте свойства для пользовательских элементов управления. Было бы неплохо иметь возможность динамически получать от них значения. –
Bruce, свойства, переданные в пользовательский контроль, хранятся в карте свойств. До тех пор, пока у CC есть идентификатор, вы должны иметь доступ к любому переданному ему свойству: getComponent ("customControlId"). GetPropertyMap(). Get ("propertyName") –
Если значение toString свойства назад, как ссылка на ValueBindingImpl (например, [email protected]), это означает, что свойство определяется динамически, поэтому вам нужно немного более сложное выражение для получения значения: getComponent ("customControlId"). getPropertyMap(). get ("propertyName"). getValue (facesContext) –