JSF 2.0には、別のコンポーネントのクライアントIDを見つけるための組み込みメソッドがありますか?クライアントID関連の質問は約1,000件あり、これを行うための多くの方法がありますが、JSF 2.0が私には分かりません。JSF 2.0で他のコンポーネントのクライアントIDを取得する
#{component.clientId}
は、特定のコンポーネントの独自のクライアントIDを評価しますが、別のコンポーネントのIDを参照したいと考えています。
Thisブログ投稿はcomponent.clientId
と書かれており、#{someComponent.clientId}
とも言いますが、わからないからです。私はJSF 2.0のリファレンス実装がなくなる前に彼が書いたと思うので、彼はJSRに目を向けるだけで、その機能が変更された可能性があります。よく分かりません。
私はPrimeFacesとRichFacesの両方にクライアントIDを返す独自の関数があることは知っていますが、このための組み込みのJSF 2.0メソッドがあるかどうかは不思議です。ここではいくつかの例を示します。これは、のoutputTextのIDを返すために働く
。
`<h:outputText value="My client ID : #{component.clientId}" />`
上記のブログ記事によると、これは動作するはずですが、それはできません。私はただ出力を得ません。
`<h:button id="sampleButton" value="Sample" />`
`<h:outputText value="sampleButton's client ID : #{sampleButton.clientId}" />`
これはPrimeFacesで動作します。RichFacesの中
`<h:outputText value="PrimeFaces : sampleButton's client ID : #{p:component('sampleButton')}" />`
作品:また
`<h:outputText value="RichFaces : sampleButton's client ID : #{rich:clientId('sampleButton')}" />`
、すべての可能で、私は「勝ったソリューションを探していた場合javax.faces.SEPARATOR_CHAR
の値を変更した場合、または参照先以外のコンテナを追加または削除した場合は破損します。コンポーネント。ハードコードされたIDパスに起因する問題を追跡するのに多くの時間を費やしました。
これは素晴らしいことです。私は 'binding'属性が、コンポーネントをバッキングビーンに公開するためだけであると仮定しました。あなたがスコープ上にコンポーネントを公開することはできないと思いました。どうもありがとう。 – cutchin
ようこそ。 – BalusC
私もあなたがそれをすることができたか分からなかった!私は、バインディング/ ELの使用についてのドキュメントでは何も参照していませんでした。これはJSF 2.xの新機能ですか? (すなわち、1.2でも利用可能ですか?) –