Primefaces使用EL变量和模态窗口

时间:2015-07-17 15:05:35

标签: jsf jsf-2 primefaces dialog

Primefaces'我有一个奇怪的问题。确认对话。 我需要的是一个确认对话框,它在我的Bean中显示一些变量,在模态对话框窗口中工作并触发Bean方法。但似乎我无法得到3 ......: - (

以下是我一直在尝试的内容:

    <p:confirmDialog header="Aviso de Confirmação"
        closable="false"
        appendToBody="true"
        global="false"
        showEffect="fade"
        hideEffect="fade"           
        widgetVar="confirmDlg">
        <h:form>
            <f:facet name="message">
                <h:outputText value="Confirma o registro de desistência do candidato(a) #{registrosCandidatoBean.candidatoInclusaoDesistencia.inscricao} - #{registrosCandidatoBean.candidatoInclusaoDesistencia.papelPessoa.pessoaFisica.nomeCompleto}?" />
            </f:facet>
            <p:commandButton value="Sim" 
                styleClass="ui-confirmdialog-yes" 
                icon="ui-icon-check" 
                action="#{registrosCandidatoBean.gravarDesistencia()}"
                update=":formDesistencia :formMensagem:mensagemFixa"
                ajax="false" 
                immediate="true" />
            <p:commandButton value="Não" 
                styleClass="ui-confirmdialog-no" 
                icon="ui-icon-close" 
                onclick="confirmDlg.hide();" />
        </h:form>
    </p:confirmDialog>

***这个显示消息并调用方法。但是&#34;消息&#34;在f:facet不显示。我使用正常的&#34;消息&#34;属性,它没有使用我的bean中的变量。

    <p:confirmDialog header="Aviso de Confirmação"
        closable="false"
        appendToBody="true"
        global="false"
        showEffect="fade"
        hideEffect="fade"
        widgetVar="confirmDlg">
            <f:facet name="message">
                <h:outputText value="Confirma o registro de desistência do candidato(a) #{registrosCandidatoBean.candidatoInclusaoDesistencia.inscricao} - #{registrosCandidatoBean.candidatoInclusaoDesistencia.papelPessoa.pessoaFisica.nomeCompleto}?" />
            </f:facet>
            <p:commandButton value="Sim" 
                styleClass="ui-confirmdialog-yes" 
                icon="ui-icon-check" 
                action="#{registrosCandidatoBean.gravarDesistencia()}"
                update=":formDesistencia :formMensagem:mensagemFixa"
                ajax="false" 
                immediate="true" />
            <p:commandButton value="Não" 
                styleClass="ui-confirmdialog-no" 
                icon="ui-icon-close" 
                onclick="confirmDlg.hide();" />
    </p:confirmDialog>

***这个显示消息和&#34;消息&#34;在f:facet。但是没有任何Bean方法被调用。

    <p:confirmDialog header="Aviso de Confirmação"
        closable="false"
        global="false"
        showEffect="fade"
        hideEffect="fade"
        widgetVar="confirmDlg">
            <f:facet name="message">
                <h:outputText value="Confirma o registro de desistência do candidato(a) #{registrosCandidatoBean.candidatoInclusaoDesistencia.inscricao} - #{registrosCandidatoBean.candidatoInclusaoDesistencia.papelPessoa.pessoaFisica.nomeCompleto}?" />
            </f:facet>
            <p:commandButton value="Sim" 
                styleClass="ui-confirmdialog-yes" 
                icon="ui-icon-check" 
                action="#{registrosCandidatoBean.gravarDesistencia()}"
                update=":formDesistencia :formMensagem:mensagemFixa"
                ajax="false" 
                immediate="true" />
            <p:commandButton value="Não" 
                styleClass="ui-confirmdialog-no" 
                icon="ui-icon-close" 
                onclick="confirmDlg.hide();" />
    </p:confirmDialog>

***这个显示消息和&#34;消息&#34;在f:facet。显然它调用了Bean方法,但我无法测试它,因为对话框是灰色的,我无法点击按钮。

它能以我需要的方式运作吗?

Primefaces 4.0

谢谢! :)

1 个答案:

答案 0 :(得分:0)

对于第三种情况,请尝试添加;

  

appendTo =“ @(body)”