2016-06-23 3 views
0

Я использую JSF 2.2, PF 5.3 и GlassFish 4.1.1.Поверхности blockUI и состав

Я пытаюсь централизовать содержимое blockUI в своем веб-приложении. здесь код моего обычая blockUI

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:cc="http://xmlns.jcp.org/jsf/composite" 
    xmlns:p="http://primefaces.org/ui"> 

<cc:interface> 
    <cc:attribute name="block" type="java.lang.String"/> 
    <cc:attribute name="trigger" type="java.lang.String"/> 
</cc:interface> 

<cc:implementation> 
    <p:blockUI block="#{cc.attrs.block}" trigger="#{cc.attrs.trigger}"> 
     LOADING<br /> 
     <p:graphicImage library="images" name="ajax-loader.gif"/> 
    </p:blockUI> 
</cc:implementation> 

и вот код, в котором я пытаюсь применить это один

<h:form> 
... 
... 

<p:dataTable id="myTable"> 
    <p:column headerText="actions"> 
    <p:commandButton class="triggerableFromBlockUI" action="#{action1}"/> 
    <p:commandButton class="triggerableFromBlockUI" action="#{action2}"/> 
    </p:column> 
</p:dataTable> 

... 
... 
<myTag:blockUI block="myTable" trigger="@(.triggerableFromBlockUI)"/> 
</h:form> 

но я вижу следующую ошибку

Cannot find component for expression "myTable". 

Если я использую непосредственно p: blockUI, все работает. Вы можете мне помочь?

+0

Могу ли я спросить, почему вы используете куб.см везде? почему бы просто не поместить ваш блок в фрагмент и ui: включить в общий макет? - Не поймите меня неправильно, componsite компоненты великолепны, но не уверены, зачем вам нужен этот сценарий, если вы просто включаете auto в макет один раз. CC, как правило, если вы вручную размещаете на нескольких страницах. – VeenarM

+0

Я думаю, нам нужно увидеть структуру папок yuor, а также имена файлов и т. Д., Пожалуйста, предоставьте – VeenarM

+0

Привет VeenarM, Ты прав, и это была моя первая идея. Но я думаю, немного глупо потерять централизацию компонента. Например, для повторного использования некоторых атрибутов тега. На данный момент у меня нет этой необходимости, но если я размещаю 500 blockUI, а затем мне нужно внести некоторые изменения во всех них, я потеряю много времени и не буду безопасным (с точки зрения человека view), и будет очень сложно протестировать каждый блокUI. – Gavi

ответ

0

Здесь решение найдено в Prime Лица Форум

<myTag:blockUI block="@form:myTable" trigger="@(.triggerableFromBlockUI)"/> 
Смежные вопросы