2

私はprimefacesベースのwwwアプリケーションを開発しています。私のコンポーネントの1つ[ツリー]は.xhtmlファイルで定義されています。別の場所[ファイル]から更新したいのですが。これを行う方法はありますか?クラシックを試しました

update="nameOfElement"

しかし、それはまったく機能しません。特定のコードを1行ずつ必要としません。ちょうど一般的にこれを行う方法とそれは可能ですらあります。そうでない場合->これにprimepushを使用できますか?ツリー構造を渡す方法は?

4

1 に答える 1

3

多くのPrimefacesコンポーネントのupdate属性は、通常、スペースで区切られたコンポーネントIDの文字列を取ります。これは、JSFAjax要求/応答が発生した後に再描画する必要があります。次のエントリをupdate属性に入れることができます。

  • @thisはこのコンポーネントだけを更新します
  • @parentUINamingContainerは、このコンポーネントの親を更新します
  • @formは、このコンポーネントフォーム内のすべてのコンポーネントを更新します
  • nameOfElementは、同じUINamingContainerに関連している場合にのみ、次の要素でコンポーネントを更新します。

したがって、別のIDにあるという理由だけで、このIDのコンポーネントを見つけることができないようですUINamingContainer<form> <h:dataTable> etc

プレフィックスを使用する:と、ページのビュールートに関連するIDが解決されます。

update=":nameOfElement"

ネーミングコンテナ内にない場合、これで要素を見つけることができるはずです...

しかし、IDを付加するフォーム内にある場合はどうなるでしょうか。

update=":nameOfForm:nameOfElement"

次に、上記はビュールートに関連するフォームプレフィックス要素を見つける必要があります。

于 2013-01-23T18:40:52.710 に答える