/ / p: ajax оновлення ідентифікатора, який не існує - ajax, jsf, праймфейси

p: ajax оновлення ідентифікатора, який не існує - ajax, jsf, primefaces

Я використовую PrimeFaces, і у мене є рядок:

<p:ajax update="toUpdate">

проблема в тому, що цей ідентифікатор не завжди існуєсторінки. (сторінка динамічна, іноді вона містить частину, яка має цей конкретний ідентифікатор, а іноді - ні) Коли він існує, він чудово працює, але коли ідентифікатор не існує, компонент аварійно завершує роботу ((можливо, це якась проблема перевірки)

Як я можу це виправити?

Це добре відоме питання?

Дякую!

Відповіді:

1 для відповіді № 1

Вам потрібно надати завжди відтворюваний компонент для оновлення, наприклад:

<p:ajax update="toUpdate">

<h:panelGroup id="toUpdate">

<p:dataTable id="tableID" rendered="#{bean.someCondition>"...

</h:panelGroup>

Отже, якщо у вас є компонент, який може мати o чи нівидимі, не використовуйте його для оновлення, оскільки це може бути поза деревом компонентів. Замість цього використовуйте компонент (контейнер), який ви впевнені, що буде відтворений та присутній у дереві компонентів.


0 для відповіді № 2

Спробуйте цей код

 <f:ajax render="toUpdate">

<h:outputText id="toUpdate">

<!--  do something -->

</h:outputText>