2016-07-28 11 views
0

我正在使用PF v.5.3.5和JSF v.2.2.8。這是SO中的一個常見話題。我注意到在與appendTo屬性相關的PF v.5.3.5文檔中存在一個錯誤。Primefaces v.5.3.5確認對話框呈現問題外主h:形式和主窗體內部呈現,但它不能正常工作

第一方法

的號碼:confirmDialog呈現和CommandButton控件被渲染,但操作不起作用,並且如果它被放置嵌套H的內部不呈現消息:形式。

2ST方法

如果我把這個對話框主要H的之外:形成它不會呈現在所有另外,如果我添加全局=「true」屬性。

3ST方法

的號碼:confirmDialog呈現和CommandButton控件被渲染,但操作不起作用,並且如果嵌套h被呈現的消息:形式被除去。

<h:form> 
... 
       <p:confirmDialog id="askSessionDialog1" widgetVar="askSessionDialog1" severity="alert" 
           appendTo="@(body)" rendered="#{treeData.askSessionDialogRendered}" visible="#{treeData.askSessionDialogRendered}"> 
        <h:form> 
        <f:facet name="message"> 
         <h:outputText value="#{msg.WEB_ADMIN_PAGES_TREESEGMENT_NOSESSION}" escape="false"/> 
        </f:facet> 

         <p:commandButton value="#{msg.WEB_BUTTONS_OK}" action="#{treeData.save(false, true)}" icon="fa fa-check" 
             update="@(form)" type="button" /> 
         <p:commandButton value="#{msg.WEB_BUTTONS_CANCEL}" action="#{treeData.setAskSessionDialogRendered(false)}" 
             icon="fa fa-close" onclick="PF('askSessionDialog1.hide()')" update="@(form)" type="reset" /> 
        </h:form> 
       </p:confirmDialog> 
... 
</h:form> 

BECKEND PART

setAskSessionDialogRendered(true); 
RequestContext.getCurrentInstance().update("treeSegmentForm askSessionDialog askTurnOffDialog askSessionDialog1 askTurnOffDialog1"); 

預先感謝建設性的文章和評論。

+0

試試這個讓你的命令按鈕工作添加'' –

+0

@YagamiLight非常感謝。我嘗試了很多方法,但這是個好主意! – user321

+0

如果是解決方案,我會發布解決方案並將其標記爲解決方案好吧 –

回答

0

求助 這是現在最適合我的方法。

<h:form> 
... 
<p:confirmDialog id="askSessionDialog" widgetVar="askSessionDialog" severity="alert" 
           appendTo="@(body)" rendered="#{treeData.askSessionDialogRendered}" visible="#{treeData.askSessionDialogRendered}"> 
        <f:facet name="message"> 
         <h:outputText value="#{msg.WEB_ADMIN_PAGES_TREESEGMENT_NOSESSION}" escape="false"/> 
        </f:facet> 

        <h:form> 
         <p:commandButton value="#{msg.WEB_BUTTONS_OK}" icon="fa fa-check" type="button" accesskey="o"> 
          <p:ajax event="click" listener="#{treeData.save(false, true)}" oncomplete="PF('askSessionDialog').hide()" 
            update="@(form)" /> 
         </p:commandButton> 
         <p:commandButton value="#{msg.WEB_BUTTONS_CANCEL}" icon="fa fa-close" type="reset" accesskey="c"> 
          <p:ajax event="click" listener="#{treeData.setAskSessionDialogRendered(false)}" 
            onsuccess="PF('askSessionDialog').hide()" update="@(form)" /> 
         </p:commandButton> 
        </h:form> 
       </p:confirmDialog> 
... 
</h:form> 

BACKEND

setAskSessionDialogRendered(true); 
RequestContext.getCurrentInstance().update("treeSegmentForm"); 

空間經濟感謝:@YagamiLight 他幫我踢了我的解決方案。