Пересмотреть дочерний составной компонент - PullRequest
1 голос
/ 18 апреля 2011

Есть ли способ указать дочерний компонент составного компонента для повторного рендеринга, используя f: ajax:

<f:ajax render="compositeComponent:childComponent" />

Из моих коротких экспериментов не представляется возможным сослаться на них, но я подумал, есть ли альтернативная стратегия для достижения этой цели.

1 Ответ

1 голос
/ 20 апреля 2011

Должно работать нормально.Это полностью клиентская часть (т. Е. Сгенерированный JSF код JavaScript находит его в дереве HTML DOM).

Возможно, вы указали неверный идентификатор клиента.Откройте страницу в веб-браузере, щелкните правой кнопкой мыши и Просмотреть источник , найдите сгенерированный элемент HTML в источнике страницы и определите его атрибут id.Тот, который вы указываете в атрибуте render, должен относиться к нему абсолютно (префикс с :) или относительно (по сравнению с родительским компонентом UINamingContainer).

Другая возможная причина заключается в том, что выпоместили атрибут rendered в тот же дочерний компонент того же составного компонента, который оценил false, что, в свою очередь, привело к тому, что сгенерированный элемент HTML полностью отсутствует в дереве HTML DOM.Затем вы хотите поместить атрибут rendered в дочерний элемент этого компонента, например:

<h:panelGroup id="childComponent">
    <h:outputText value="#{bean.text}" rendered="#{bean.rendered}" />
</h:panelGroup>
...