Dalam pembangunan web, adalah perlu untuk melaksanakan tindakan sebelah pelayan berdasarkan peristiwa tertentu yang berlaku pada klien -sisi. Ini boleh dicapai dalam JavaServer Faces (JSF) dengan menggunakan pelbagai pendekatan. Satu pendekatan sedemikian ialah menggunakan kaedah tindakan kacang terurus JSF menggunakan Ajax semasa acara pemuatan DOM HTML.
Dalam JSF 2.3 dan ke atas,
<h:form> <h:commandScript name="commandName" action="#{bean.action}" render=":results" /> </h:form> <h:panelGroup>
Skrip ini boleh digunakan menggunakan JavaScript biasa:
commandName();
Menetapkan autorun="true" mencetuskannya semasa pemuatan DOM.
Jika PrimeFaces digunakan, pertimbangkan untuk menggunakan
<h:form> <p:remoteCommand name="commandName" action="#{bean.action}" update=":results" /> </h:form> <h:panelGroup>
Invokasi serupa dengan
commandName();
PrimeFaces menggunakan jQuery untuk panggilan AJAX, bukan JSF asli jsf .ajax.request().
Untuk versi JSF yang lebih lama daripada 2.3, OmniFaces menawarkan
<o:form> <o:commandScript name="commandName" action="#{bean.action}" render=":results" /> </o:form>
Gantikan h:commandScript dengan o:commandScript.
Pendekatan alternatif melibatkan penggunaan borang tersembunyi dengan
<h:form>
Seruan:
document.getElementById("form:button").onclick();
Sebagai langkah terakhir, seseorang boleh membangunkan UIComponent tersuai yang memanjangkan UICommand dan memanfaatkan jsf.ajax.request().
Ringkasnya, pendekatan ini memperkasakan pembangun untuk menggunakan kacang terurus JSF pada Acara HTML DOM menggunakan JavaScript asli. Pilihan kaedah bergantung pada faktor seperti versi JSF, penggunaan perpustakaan dan kekangan projek.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan JSF Managed Beans pada Acara HTML DOM Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!