ui:includeに含まれているファセットのclientIdを取得するにはどうすればよいですか?
再利用可能なコンポーネントの場合、次の構文を使用しますcc.clientId
。
編集1
問題は、絶対IDの決定のコンテキストにあります。動的エディターを含めるために、カスタムインクルードを使用します。
DynamicInclude、DynamicIncludeComponent、およびDynamicIncludeHandlerのソースコードは、http://pastebin.com/5e2dgR15にあります。getSrc
DynamicIncludeのメソッドでsrcのnullをテストした行を削除し、getFamily
null以外の値を返すように変更する必要がありました。これは、私の場合に見つけて使用できる動的インクルードの唯一の実装です。現時点では、より良いものを作るための知識がありません。動的インクルードを持つことは、多くの場所で使用されるため、私のプロジェクトにとって非常に重要です(@BalusC:可能であれば、そのようなコンポーネントがOmniFacesに追加されることを望んでいます)。
絶対クライアントIDに関する私の問題は、のIDが生成される方法に関連してい<custom:include>
ます。私の場合はtabs:0:editorsGroup:4:editor3
です。<p:dataTable>
またはなどの名前付けコンテナー<p:tabView>
がid(tabs:0、editorsGroup:4)に番号を追加することを確認しました。このカスタムインクルードが100%NamingContainerであるかどうかはわかりません。DynamicIncludeComponentはNamingContainerを実装しますが、絶対クライアントIDをとして使用することはできません:tabs:editorsGroup:editor
。
絶対IDの決定のorganizationUnit
エディターの場合、の更新で回避策を使用しました。を使用すると、cc.clientIdの一部が削除された後、絶対クライアントIDが計算されました。absolute_id_of_organization_unit
#{eval.getAbsoluteId(cc.clientId, 'organizationUnit')
の助けを借りて更新を試みましたが、<p:remoteCommand>
機能しませんでした。organizationUnit
そのため、エディターの場合と同様の回避策を実行できると思いました。このために、getAbsoluteIdメソッドの最初のパラメーターである親IDを取得する必要がありました。
これらは私の奇妙な要求からの理由です。