我需要创建一个自定义组件,该组件可以扩展或包括Primefaces SelectOneMenu。这样做是为了使我可以根据字段交付所选项目(目前,它们在下面的示例中进行了硬编码,并且标记已正确注册)。
呈现组件,并且选择项也显示良好。但是,当我保存时,记录的字段不会更新为所选项目的值。有一些我应该重写以实际设置值的质数法吗?
是否有任何有关如何扩展primeface(或atleast jsf)组件的教程?我几乎找不到。预先谢谢你
@FacesComponent(value = ComponentRegistry.INPUT_SELECTDROPDOWN_COMPONENT_TYPE)
public class InputSelectDropdown extends SelectOneMenu {
@Override
public void encodeBegin(FacesContext context) throws IOException {
this.setValueExpression("value", this.getValueExpression("value"));
UISelectItem select1 = new UISelectItem();
select1.setItemLabel("item 1");
select1.setItemValue("item1");
select1.encodeAll(context);
this.getChildren().add(select1);
UISelectItem select2 = new UISelectItem();
select2.setItemLabel("item 2");
select2.setItemValue("item2");
select2.encodeAll(context);
this.getChildren().add(select2);
super.encodeBegin(context);
}
}