Обновить составной компонент? - PullRequest
1 голос
/ 18 февраля 2012

как мне сказать составному компоненту, что он должен обновить другой cc?

Я пытался присвоить атрибуту "update" первый cc, который передается кнопке. Затем я аннотировал snd cc этим идентификатором. Очевидно, идентификатор также найден, потому что я уже могу запустить страницу.

НО нажав на кнопку: ничего не происходит!

входная копия:

<composite:interface>
<composite:attribute name="update"/>
</composite:interface>

<composite:implementation>
<p:commandButton value="Create" update="#{cc.attrs.update}" action="register...">
</composite:implementation>

JSF:

<cc:myInput update=":myDataTable">

<cc:myDataTable id="myDataTable">

Кто-нибудь знает, как правильно обновить данные cc в кнопке формы ввода cc?

Thnx

1 Ответ

1 голос
/ 18 февраля 2012

Вы указали идентификатор клиента, который начинается с :, поэтому он будет интерпретироваться относительно корня представления (т. Е. Он становится «абсолютным» идентификатором клиента).Но у вас, кажется, есть другой компонент NamingContainer между корнем представления и компонентом с данными, например <h:form>.Его идентификатор также будет отображаться в идентификаторе клиента.

Чтобы определить правильный идентификатор клиента для myDataTable, необходимо открыть страницу в веб-браузере, щелкнуть правой кнопкой мыши и Просмотреть источник инайдите компонент <table id="xxx:myDataTable">, где xxx сейчас неизвестно.Вам необходимо использовать именно этот идентификатор клиента в update:

<cc:myInput update=":xxx:myDataTable">
...