JSF:Primefaces:无法使用RequestContext打开Bean的Dialog

时间:2013-02-05 12:37:34

标签: jsf dialog primefaces requestcontext

我无法从我的Bean打开Dialog。我还尝试了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>

这是我的Bean

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

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


}

1 个答案:

答案 0 :(得分:3)

根本没有调用showDialog()方法。如果您想使用AJAX启用提交而不是按钮,请删除type="button"