ダイアログを開いたときにヘッダー テキストを更新する方法はありますか? 以前は属性を使用しdynamic
て true に設定していました。しかし、フォームと Bean の状態 (ダイアログの内部にフォームがある) の問題により、その使用を断念しなければなりませんでした。js 属性へのフックがありますonShow
が、そこからヘッダー テキストを更新する方法がわかりません。
これは、私のダイアログがどのように見えるかを簡略化したものです。これは、複合コンポーネントとして定義されます (表示されていません)。
<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() {
....
}
}