2013-05-27 3 views
1

У меня есть вид в представлении Primefaces JView myView.xhtml с формой (с идентификатором 'myformID') и datatable (с идентификатором 'myDataTableId'). У меня также есть диалоговое окно (myDialog.xhtml). Я включаю myDialog.xhtml в myView.xhtml. Когда мы нажимаем на commandButton в 'myDialog.xhtml', он обновляет datatable после выполнения метода, указанного в actionener. Я обновляю datatable с помощью update = ": myFormId: myDataTableId", и он работает нормально.Reuse the Primefaces Dialog

Но я хотел бы использовать тот же диалог в другом виде. Идентификатор формы и идентификатор datatable различаются в этом представлении. Итак, как я могу повторно использовать диалог и обновлять datatables с разными идентификаторами (в настоящее время я создаю еще один диалог, дублируя код и изменяя значение в атрибуте update commandButton соответственно)?

+0

Вы можете создать составной компонент JSF для диалога. Очень хорошим примером того, как реализовать составной компонент, является следующая запись в блоге mkyong: http://www.mkyong.com/jsf2/composite-components-in-jsf-2-0/ – chearius

ответ

1

Вы можете передать параметры с ui:include например:

master.xhtml

<ui:include src="include.xhtml"> 
    <ui:param name="customId" value="4567" /> 
</ui:include> 

include.xhtml

<ui:composition> 
    <p:dialog id="#{customId}" ...> 
    </p:dialog> 
</ui:composition> 
+0

, которая работает. Благодаря! – user1285252

Смежные вопросы