代码之家  ›  专栏  ›  技术社区  ›  Ectomorph

p:commandButton未在ui:composition中启动

  •  0
  • Ectomorph  · 技术社区  · 9 年前

    以下代码出现在ui:composition页面中并使用模板,模板使用ui:insert插入此页面。

            <p:commandButton id="basic" value="Contact #{viewProfileView.profile.credentials.username}" onclick="PF('dlg1').show();" type="button" />
    
        <h:form id="createMail">
            <p:dialog id="createMailDialog" header="Contact #{viewProfileView.profile.credentials.username}" widgetVar="dlg1" modal="true" draggable="false">
                <p:growl id="growl"/>
    
                <p:inputTextarea value="#{viewProfileView.emailBody}"
                                 rows="5" cols="80" maxlength="399"
                                 counter="charsLeft" 
                                 counterTemplate=" {0} chars remaining."
                                 autoResize="false" />
                <h:outputText id="charsLeft" />
    
                <p:commandButton id="sendMailButton" value="Send"
                                 action="#{viewProfileView.sendMail}"
                                 update="growl"
                                 oncomplete="PF('dlg1').hide();"/>
            </p:dialog>
        </h:form>
    

    我使用的是最新的JSF和Primefaces 5.1。

    除了“sendMailButton”命令的oncomplete未能调用Button以关闭对话框外,其他一切都正常。我知道这段代码是有效的,因为我把它放在自己的页面中,并看到它在工作,它只是不想作为ui的一部分:使用模板组合。

    如果我一直在寻找一个没有运气的答案,我将非常感谢你的帮助。

    更新:如果我将“oncomplete”更改为“onsuccess”,它会起作用,但只起一次作用,但这并不能解决我的问题。

    非常感谢。

    1 回复  |  直到 9 年前
        1
  •  0
  •   Ectomorph    9 年前

    似乎是模板导致了问题。现在工作。