Мне нужно создать пользовательский компонент, который либо расширяет, либо включает Primefaces SelectOneMenu.Это сделано для того, чтобы я мог доставить выбранные элементы на основе поля (на данный момент они жестко закодированы в приведенном ниже примере, и тег правильно зарегистрирован).
Компонент отображается, и выбранные элементы также отображаются нормально.Однако, когда я сохраняю, поле записи не обновляется со значением выбранного элемента.Есть ли какой-нибудь простой метод, который я должен переопределить, чтобы на самом деле установить значение?Я едва мог найти что-либо.Заранее спасибо
@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);
}
}