我正在尝试在JSF2项目中使用枚举和h:selectOneMenu框。
目前为止,我已经有:
枚举:
public enum MyType {
TEST,
ME;
}
后端 Bean:
@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;
}
}
<h:selectOneMenu id="mySelection"
value="#{myBean.type}">
<f:selectItems value="#{myBean.types}" />
</h:selectOneMenu>
我的问题是值被正确显示但没有保存(实际上我在一个seam3 hibernate项目中使用它)。当我尝试使用自定义验证器时,我发现setType方法被调用了两次,第二次为null -> 导致什么都没有保存。我有遗漏什么吗?
到目前为止,我已经检查了以下主题: * jsf-2-0-use-enum-values-for-selectonemenu * jsf-2-0-use-enum-in-selectmany-menu * jsf-best-way-to-enum-internationalization-i18n 非常感谢您的帮助, Stephan