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) {
// ...
}