【发布时间】:2017-12-24 15:01:36
【问题描述】:
单击复选框时不会调用 SelectManyCheckbox 的事件侦听器。
我的 SelectManyCheckbox 代码:
SelectManyCheckbox smcb = new SelectManyCheckbox();
UISelectItem item = new UISelectItem();
item.setItemValue("ItemValue");
item.setItemLabel("ItemLabel");
smcb.getChildren().add(item);
我已经尝试过 AjaxBehavior:
AjaxBehavior ajaxBeh = (AjaxBehavior) fc.getApplication().createBehavior(AjaxBehavior.BEHAVIOR_ID);
ajaxBeh.setRender(Collections.singletonList("@this"));
ajaxBeh.setExecute(Collections.singletonList("@this"));
ajaxBeh.setImmediate(true);
ajaxBeh.setTransient(true);
ajaxBeh.addAjaxBehaviorListener(new AjaxBehaviorListener() {
@Override
public void processAjaxBehavior(AjaxBehaviorEvent e)
throws AbortProcessingException {
System.out.println("Event Triggered");
}
});
smcb.addClientBehavior("change",ajaxBeh);
还有ValueChangeListener:
public class CustomValueChangeListener implements ValueChangeListener {
@Override
public void processValueChange(ValueChangeEvent arg0)
throws AbortProcessingException {
System.out.println("processValueChange");
}
}
smcb.addValueChangeListener(new CustomValueChangeListener ());
以上两种方法都不行。
如何设置事件监听器,以便在选中或取消选中复选框时调用它?
【问题讨论】:
-
为什么需要用Java来做
标签: jsf primefaces