p:commandLink не вызывает p:blockUI
Я использую PrimeFaces. Вот код:
<h:form>
<p:dataTable...>
<p:column...>
<p:commandLink id="featuresLinkId"...>
</p:column>
</p:dataTable>
</h:form>
<p:blockUI block=":smForm" trigger="featuresLinkId">
<p:graphicImage alt="loader image" value="/images/loader.gif"/>
</p:blockUI>
Когда страница загружается, я вижу следующую ошибку:
javax.servlet.ServletException:
Cannot find component with identifier "featuresLinkId" in view.
Похоже на commandLink
не может быть использован для запуска blockUI
по такому сценарию. В чем может быть проблема?
2 ответа
Решение
Потому что он не найдет этот компонент, потому что он внутри формы /datatable.
Внести изменения как
1-
<h:form id="formId">
2-
<p:dataTable id="tbl">
3-
<p:blockUI block=":smForm" trigger=":formId:tbl:featuresLinkId">
Попробуйте выше.
В Primefaces 3.5 есть ошибка. Я думаю, см.: Как ссылаться на p:commandLink в p:dataTable из триггера p:blockUI?
Вы можете попробовать использовать JQuery BlockUI http://www.malsup.com/jquery/block/