Bagaimana cara meneruskan ID tombol yang dihasilkan secara dinamis ke metode tindakan?

Saya membuat halaman Facelet. Di halaman, beberapa tombol dibuat secara dinamis, setiap tombol memiliki ID, Saat mengirimkan acara, saya ingin meneruskan ID tombol ke tindakan. (tombol secara dinamis)

Tapi saya tidak tahu cara meneruskan parameter dinamis di JSF.


person wsxiapiaoxue    schedule 14.12.2011    source sumber


Jawaban (1)


Anda bisa mendapatkan komponen tombol dalam metode tindakan dengan UIComponent#getCurrentComponent():

public void submit() {
    UIComponent button = UIComponent.getCurrentComponent(FacesContext.getCurrentInstance());
    String id = button.getId(); // or button.getClientId();
    // ...
}

Alternatifnya, jika Anda menargetkan container Servlet 3.0 / EL 2.2 (Tomcat 7, Glassfish 3, dll), maka Anda bisa memanggil metode dengan argumen di EL:

<h:commandButton action="#{bean.submit(component.id)}" /> <!-- or component.clientId -->

dengan

public void submit(String id) {
    // ...
}
person BalusC    schedule 14.12.2011