0
我創建了一個Facelets頁面。在頁面中動態生成了一些按鈕,每個按鈕都有一個ID, 當提交事件時,我想將一個按鈕的ID傳遞給動作(按鈕是動態的)如何將動態生成的按鈕的ID傳遞給操作方法?
但是我不知道如何傳遞動態JSF中的參數。
我創建了一個Facelets頁面。在頁面中動態生成了一些按鈕,每個按鈕都有一個ID, 當提交事件時,我想將一個按鈕的ID傳遞給動作(按鈕是動態的)如何將動態生成的按鈕的ID傳遞給操作方法?
但是我不知道如何傳遞動態JSF中的參數。
你可以通過UIComponent#getCurrentComponent()
在操作方法的按鈕組件:
public void submit() {
UIComponent button = UIComponent.getCurrentComponent(FacesContext.getCurrentInstance());
String id = button.getId(); // or button.getClientId();
// ...
}
或者,如果您定位一個Servlet 3.0/2.2 EL容器(Tomcat的7,Glassfish的3等),則可以直接調用與參數的方法在EL:
<h:commandButton action="#{bean.submit(component.id)}" /> <!-- or component.clientId -->
與
public void submit(String id) {
// ...
}