Soalan:
Adakah mungkin untuk menghantar nilai ke p: komponen remoteCommand daripada JavaScript? Jika ya, bagaimanakah nilai ini boleh diterima dalam kacang sandaran?
Jawapan:
Ya, menghantar parameter kepada p:remoteCommand daripada JavaScript adalah mungkin. Pendekatan bergantung pada versi PrimeFaces yang digunakan.
Untuk PrimeFaces 3.3 dan lebih baharu, gunakan sintaks berikut:
increment([{name:'x', value:10}, {name:'y', value:20}]);
Ini membolehkan berbilang nilai dengan nama parameter yang sama. Parameter dengan nilai tunggal boleh diakses dalam kacang sandaran sebagai sifat berskop permintaan:
@ManagedProperty("#{param.x}") private int x; @ManagedProperty("#{param.y}") private int y;
Untuk PrimeFaces 3.2 atau lebih lama, gunakan sintaks berikut:
increment({param1:'val1', param2:'val2'});
Parameter ini boleh diakses dalam kacang sandaran menggunakan RequestParameterMap:
Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); String param1 = params.get("param1"); String param2 = params.get("param2");
Untuk menghantar parameter dengan berbilang nilai, gunakan sintaks berikut (PrimeFaces 3.3 atau lebih baharu):
functionName([{name:'foo', value:'one'}, {name:'foo', value:'two'}, {name:'foo', value:'three'}]);`
Ini boleh diakses dalam kacang sandaran sebagai harta terurus dengan atribut paramValues:
@ManagedProperty("#{paramValues.foo}") private String[] foos;
Atas ialah kandungan terperinci Bagaimana untuk Lulus Parameter ke p:remoteCommand daripada JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!