2015-03-06 2 views
1

У меня возникли трудности с попыткой показать диалог <ace:dialog> из класса бэкбонов. Я пытался получить доступ к компоненту диалогового окна с помощью следующего кода:Скрыть/показать туз: диалог от управляемого JSF bean

context.getViewRoot().findComponent("allianceMemberForm:addAlliance:addAllianceForm:selectStartDate"); 

Однако, я не знаю, как скрыть или показать это окно в методе боба. Как я могу это достичь?

+0

возможно дубликат [Как выполнить метод яваскрипта из стороны сервера] (http://stackoverflow.com/questions/17711409/how-to-execute-javascript -метод-из-серверной стороны) – kolossus

ответ

0

После нескольких экспериментов мне удалось разработать два решения.

1.Установите логическое значение в моем управляемом bean-компоненте и привяжите его к этому свойству видимому атрибуту компонента диалога ace: dialog. Затем я могу переключить это логическое значение с помощью прослушивателей действий свойств.

2.Using Javascript контекст:

JavaScriptRunner.runScript(FacesContext.getCurrentInstance(), "ice.ace.instance('allianceMemberForm:addAlliance').show()");