Как обратиться к окружающему именующему контейнеру в jsf?

У меня есть страница JSF 2.0 с <p:dataTable> и внутри этой таблицы <p:commandButton> это должно удалить элемент из этой таблицы с помощью запроса ajax. Само удаление работает нормально, но я не знаю, как определить окружение <p:dataTable> для рендера update,

<lots of naming containers>
...
   <p:dataTable id="dataTable" var="userItem" ... />
     <p:column>

        <p:commandButton
             action="#{userController.doDelete(userItem.id)}"
             value="delete" 
             update="?????"/>  <!-- How to address the dateTable? -->

     </p:column>
   </p:dataTable>
<.lots of naming containers>

Я уже попробовала update="dataTable" но моджарра не нашел его(Изменить: это не сработало по другой причине)

Поэтому мой вопрос заключается в том, как обратиться к окружающему контейнеру именования, БЕЗ использования абсолютного пути, который начинается с корня UIComponent (потому что тогда мне нужно было бы назвать много именующих контейнеров.)

1 ответ

Решение

Предполагая, что у вас есть все в форме, которая имеет prependId="false" в качестве атрибута, то значение атрибута обновления dataTable должно сработать.

Атрибут обновления PrimeFaces дочерних компонентов распознает идентификатор родительского компонента dataTable. Кроме того, вы также можете использовать @parent значение в PrimeFaces обновляется, чтобы отобразить дочерний элемент непосредственно в родительский контейнер.

Другие вопросы по тегам