扩展Primefaces SelectOneMenu的JSF自定义组件

时间:2018-10-21 15:53:54

标签: jsf primefaces custom-component selectonemenu

我需要创建一个自定义组件,该组件可以扩展或包括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);
    }    
}

0 个答案:

没有答案