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

Я не могу открыть Диалог из моего Бина. Я также пытался actionListener вместо action

Вот так выглядит мой JSF:

<ui:composition template="../templates/site.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:sec="http://www.springframework.org/security/tags">
<!-- remove me just for encoding check ä -->
<ui:define name="content">
    <h:form id="form">
        <h:panelGrid columns="1" cellpadding="5">

            <p:commandButton value="Button" type="button" id="myButton"
                action="#{testBean.showDialog}" />
        </h:panelGrid>
    </h:form>



    <p:dialog id="testDialog" widgetVar="testDialog2"
        header="My Test Dialog" modal="true" appendToBody="true">
        <h:form>

            <h:outputText value="Output" />

        </h:form>
    </p:dialog>


</ui:define>

А это мой боб

@Component
@Scope("view")
public class TestBean {

    public void showDialog(){
        RequestContext.getCurrentInstance().execute("testDialog2.show()");
    }


}

1 ответ

Решение

Ваш showDialog() метод не вызывается вообще. Удалить type="button" так как вы хотите использовать AJAX, включите отправку, а не кнопку.

Другие вопросы по тегам