私は、(より大きいシステムの一部として)ユーザーがメッセージを投稿できる機能を実装しようとしています。ユーザーがポストボタンをクリックすると、RichFacesとa4jを使用してajaxを使用して生成されたポストを取得します。a4j:repeat - 新しい要素を動的に追加する
私は、応答が返されると自動的に投稿が表示されないようにしたいと思います。むしろ、私は隠しdivの中に出力パネルを追加したいと思います。ユーザーがポストボタンをクリックすると、その出力パネルにはポピュレートされますが、明らかにユーザーから隠されます。
私が後でやりたいことは、隠しdivの新しい要素をjQueryを使って正しい位置に移動することです。
とにかく、ここでの問題は、a4j:repeatのajaxKeysプロパティを使用して、アクションが実行されたときに1つの行を更新することです。たとえば、誰かが行の評価5を与える場合、私はその行だけを再レンダリングしたい(サーバー側で正しいキーを設定することによって)。
私がこのメソッドを使用すると、他のポスト以外のajaxで作成された要素を移動させても、最初は問題なく動作しますが、ユーザーがその行に対して操作を行うと、a4j:repeatはそれ自体が生成されなかったことを考えれば、それを使って作業してください。
これは間違いありませんか?もしそうなら、誰かが提案できる回避策がありますか?
Facebookは同様のことを達成することができます。投稿を作成または削除したり、投稿にコメントしたりして、そのオブジェクトのみを更新することができます。私はa4j:repeatがこの問題に近づく最善の方法ではないかもしれないと思っています。思考?
あなたは本当にa4j:repeatがあなたをここで助けてくれるとは思わない理由を説明しませんでした。なぜそれは機能しませんか? –
repeatは、テーブル全体を更新せずに新しい要素を追加することはできません。 – NRaf