Как обратиться к окружающему именующему контейнеру в 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 обновляется, чтобы отобразить дочерний элемент непосредственно в родительский контейнер.