Я думаю, вы смешали разработку веб-приложений (JSF) с разработкой для настольных компьютеров (Swing). С JSF вам не нужно создавать компонент базового компонента для каждого компонента Facelet. Вам не нужно
- org.primefaces.component.commandbutton.CommandButton
- org.primefaces.component.selectonemenu.SelectOneMenu
- org.primefaces.component.selectoneradio.SelectOneRadio
в вашем бине, если вы хотите связать только входные значения этих компонентов.
Конечно, в некоторых ситуациях вы получите преимущества от связывания компонентов, но в вашем примере это не обязательно.
В лицевой стороне вы используете атрибут value
и атрибут binding
, но они имеют одинаковое содержимое.
Если вас интересуют только входные значения, атрибут value
- это все, что вам нужно. Пусть этот атрибут указывает на поле базового компонента, которое будет содержать только значение, например int
или String
.