2015-10-16 3 views
1

На одной из наших страниц есть кнопка поиска, которая открывает диалоговое окно поиска, чтобы пользователи могли выполнять поиск и импортировать некоторые данные из удаленной системы.Как открыть диалог при открытии страницы

Теперь я получил новое требование, чтобы этот же диалог показывался каждый раз, когда страница открывалась, но только когда страница будет использоваться для создания нового реестра, в режиме обновления она должна отображаться только в том случае, если пользователь нажимает кнопка.

Я уже пробовал некоторые вещи, я могу вызвать диалоговое окно MB используя Primefaces двигатель, как показано ниже:

RequestContext.getCurrentInstance().execute("dialogArmaBos.show()") 

Эта команда работает для кнопки дела, но я могу заставить его работать, когда страница открывается. Если я попытаюсь использовать в PostConstruct, ничего не произойдет.

Я также попробовал <f:event type="preRenderView" ... с <f:metadata ..., но ничего не меняется.

Есть ли способ сделать это?

+0

JSF или PrimeFaces не поможет в этом случае, посмотрите в https://learn.jquery.com/using -jquery-core/document-ready/ –

+2

Просто используйте ''? – BalusC

+0

@ Kukeltje основываясь на том, что вы предполагаете, что мое предложение неверно? нет ничего «неправильного» в предложении, либо оно соответствует вашим потребностям, либо оно не будет, если бы я был уверен, что это то, что ищет OP, я бы опубликовал его как ответ. –

ответ

3

По сказочным PrimeFaces documentation Существует видимый атрибут. Цитата из документов:

visible false Boolean Когда включено, диалог отображается по умолчанию.

Так просто использовать EL в этом атрибуте, чтобы он показать на PageLoad

<p:dialog visible="#{myBean.createMode}"... > 

и иметь логическое поле в этом компоненте, который возвращает истину, если в режиме создания.

Для остальных вы можете показать/скрыть его с клиентской стороны апи в случае необходимости

+0

какой позор .... все было так просто. Thx очень много! – Scrougge

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