2014-02-17 3 views
4

Я хотел бы позвонить confirmDialog через поддержку. Этот код работает отлично, но как я могу установить сообщение и установить actionlistener confirmDialog с помощью поддержки? Существует два условия, в то время как:Поверхностный вызов ConfirmDialog из резервной копии

  • Пользователь проверить вариант А на окошке (я опустил код), то он должен быть непосредственно печатать текст на консоль. -> Этот код делается по нижеследующему
  • Пользователь проверяет опцию B на флажке, затем он должен показывать подтверждениеDialog и, пока пользователь нажимает кнопку YES, на вызове должна быть вызвана другая функция.

Как это сделать? Благодарю.

<p:commandButton value="Execute" icon="ui-icon-circle-check" update="frmContent" actionListener="#{backing.validate}" /> 

<p:confirmDialog id="cfmDlg" widgetVar="wvCfmDlg" global="true" > 
    <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" /> 
    <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" /> 
</p:confirmDialog> 

В Архивация:

public void validate() { 
    if(mode.equals("1")) { 
     System.out.println("OK"); 
    } else { 
     //call confirmDialog and set message + action listener 
     RequestContext context = RequestContext.getCurrentInstance(); 
     context.execute("wvCfmDlg.show();"); 
    } 
} 
+0

Что вы подразумеваете под "экстренным прослушиванием ConfirmDialog через бэк-бэк ???? – Makky

+0

@Makky: Я имею в виду, как я могу установить' actionlistener' + 'message' подтвержденияDialog через бэк-компонент (в xhtml, вы должны что-то вроде: 'actionListener =" "и' message = "" '), как в http://www.primefaces.org/showcase/ui/confirmDialog.jsf. –

ответ

8

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

XHTML

<p:commandButton style="display: none" 
       widgetVar="confirmButton" 
       actionListener="#{backing.yesFunction}" > 
    <p:confirm header="Confirmation" message="Are you sure?" /> 
</p:commandButton> 

<p:commandButton value="Execute" 
       actionListener="#{backing.validate}" /> 

<p:confirmDialog id="cfmDlg" global="true" > 
     <p:commandButton value="Yes" /> 
     <p:commandButton value="No" /> 
</p:confirmDialog> 

боб

public void validate() { 
    if(mode.equals("1")) { 
     System.out.println("OK"); 
    } else { 
    RequestContext context = RequestContext.getCurrentInstance(); 
    context.execute("PF('confirmButton').jq.click();"); 
    } 
} 

В основном добавить скрытую кнопку (с р: подтверждение) обычным способом и вы щелкаете через JQuery ,

+0

Это именно то, что я хочу. много, вы действительно сэкономили мое время :) –

+0

Добро пожаловать :) –

+0

Спасибо @HatemAlimam мало информации для версии PrimeFaces выше 5.0 вы должны использовать context.execute ("PF ('confirmButton'). jq.click();") –

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