2013-07-22 65 views
0

有沒有辦法在打開時更新對話框標題文本?我曾經使用dynamic屬性並將其設置爲true。但由於Form和Bean狀態的問題(對話框裏面有一個表單),我不得不放棄它的用法。有一個鉤子js屬性onShow,但我不知道如何從那裏更新標題文本。JSF2 + PF:打開或顯示時更新對話框標題

下面是我的對話框的簡化版本。它被定義爲一個複合部件(未示出):

<composite:interface componentType="addEditDialog"> 
... 
</composite:interface> 

<composite:implementation> 
    <p:dialog> 
     <f:facet name="header"> 
      #{cc.headerText} 
     </f:facet> 
     .... 
    </p:dialog> 
    ... 
</composite:implementation> 

我在確定何時它被打開的實際標題文本所述背襯NamingContainer類一些自定義代碼:我最終

@FacesComponent("addEditDialog") 
public class AddEditCompositeComponent extends UINamingContainer { 

    public String getHeaderText() { 
     .... 
    } 
} 

回答

1

使用autoUpdate = true在PF outputPanel中封裝標題文本,它適用於我。

<p:dialog> 
    <f:facet name="header"> 
     <p:outputPanel autoUpdate="true">#{cc.headerText}</p:outputPanel> 
    </f:facet> 
    .... 
</p:dialog> 
+0

謝謝它解決了我自動更新標題的問題。我一直在嘗試但沒有工作 – dirai

+0

但我有一個問題。我點擊我的對話框中的任何其他動作按鈕,對話框的標題被自動調整。我怎樣才能避免這種情況? – dirai