Apakah ada cara agar kacang Dukungan JSF menyebabkan pembaruan komponen pada halaman? Saya tidak ingin menggunakan komponen ajax dengan atribut update untuk memperbarui komponen di halaman. Saya perlu memicu pembaruan dari dalam metode kacang dukungan JSF. Perhatikan bahwa pembaruan pada halaman dapat terjadi setelah metode ini selesai atau sebelum penyelesaiannya. Saya menggunakan PrimeFaces, jika ada solusi yang dapat diperoleh dari penggunaan PrimeFaces.
jsf-2
primefaces
Praktik terbaik
sumber
sumber
Jawaban:
Menggunakan JSF API standar, tambahkan ID klien ke
PartialViewContext#getRenderIds()
.Menggunakan API khusus PrimeFaces, gunakan
PrimeFaces.Ajax#update()
.Atau jika Anda belum menggunakan PrimeFaces 6.2+, gunakan
RequestContext#update()
.Jika Anda kebetulan menggunakan pustaka utilitas JSF OmniFaces , gunakan
Ajax#update()
.Terlepas dari caranya, perhatikan bahwa ID klien tersebut harus mewakili ID klien absolut yang tidak diawali dengan
NamingContainer
karakter pemisah seperti yang Anda lakukan dari sisi tampilan.sumber
<f:ajax listener>
atau<f:event type="preRenderView" listener>
<f:ajax>
. Ini diperkenalkan sejak JSF 2.0. Anda harus menggunakan fasilitas khusus pustaka komponen JSF 1.2.Saya juga mencoba memperbarui komponen dari jsf backing bean / class
Anda perlu melakukan hal berikut setelah memanipulasi komponen UI:
Penting untuk menggunakan clientId sebagai ganti componentId (sisi server) !!
sumber
The
RequestContext
adalah usang dari Primefaces 6.2 . Dari versi ini gunakan yang berikut:Dan untuk mengeksekusi javascript dari backbean gunakan cara ini:
Referensi:
sumber
Semuanya mungkin hanya jika ada cukup waktu untuk meneliti :)
Apa yang harus saya lakukan adalah seperti memiliki orang yang saya iterasi ke dalam sebuah ui: ulangi dan tampilkan nama dan bidang lain dalam masukan. Tetapi salah satu bidang adalah singleSelect - A dan bergantung padanya, perbarui nilai masukan lain - B. bahkan ui: ulangi tidak memiliki id yang saya masukkan dan muncul di pohon DOM
Dari id di html adalah seperti:
Dari pada tampilan saya mendapat satu metode seperti:
Dan implementasinya ada di kacang seperti:
Jadi dengan cara ini saya memperbarui elemen dari kacang tanpa masalah. PF versi 6.2
Semoga berhasil dan selamat coding :)
sumber
personType
, maka meneruskan orang dan indeks ke pendengar ajax tidak berguna. Anda bisa mendapatkan id dan nilai dari acara tersebut. Tetapi solusi Anda mungkin diperlukan untuk kasus penggunaan spesifik Anda, tetapi karena tidak ada contoh lengkap (dalam contoh rasa yang dapat direproduksi minimal ), sulit untuk mengatakannya.