Я пытаюсь использовать перечисление с полем h: selectOneMenu в проекте JSF2.
Что у меня так далеко:
Enum:
public enum MyType {
TEST,
ME;
}
Фасоль:
@ManagedBean
public class MyBean {
private MyType type;
public MyType[] getTypes {
return MyType.values;
}
public void setType(MyType type) {
this.type = type;
}
public MyType getType() {
return this.type;
}
}
xhtml page:
<h:selectOneMenu id="mySelection"
value="#{myBean.type}">
<f:selectItems value="#{myBean.types}" />
</h:selectOneMenu>
Моя проблема в том, что значения отображаются правильно, но они не сохраняются (на самом деле я использую это в проекте спящего режима seam3). Когда я попробовал его с помощью специального валидатора, я увидел, что метод setType вызывается дважды, второй раз с нулем ->, в результате чего ничего не сохраняется.
Я что-то упустил?
Пока я проверил следующие темы:
* jsf-2-0-use-enum-values-for-selectonemenu
* jsf-2-0-use-enum-in-selectmany-menu
* jsf-best-way-en-enum-internationalization-i18n
Большое спасибо за помощь,
Stephan