According to this answer: https://stackoverflow.com/a/8229982/988145 , JSF should auto-convert enums. For some reason, it doesn't. I'm getting the following error:
"Type of FrequencyConversion Error setting value 'DAY_OF_WEEK' for 'null Converter'."
My enum:
public enum FrequencyType implements Serializable
{
DAY_NUMBER, DAY_OF_WEEK
}
Select markup:
<h:selectOneMenu onchange="toggleFrequencyTypes(this);"
value="#{cellContentsBean.pillSheetProfile.frequency}"
class="form-control" id="frequencyTypeDd">
<f:selectItems value="#{cellContentsBean.frequencyTypes}" />
</h:selectOneMenu>
Frequency types getter in the bean:
public FrequencyType[] getFrequencyTypes() {
return FrequencyType.values();
}
Setters:
private FrequencyType frequencyType;
/**
* @return the frequencyType
*/
public FrequencyType getFrequencyType()
{
return frequencyType;
}
/**
* @param frequencyType the frequencyType to set
*/
public void setFrequencyType(FrequencyType frequencyType)
{
this.frequencyType = frequencyType;
}
I've even added a converter to my faces config as another thread suggests, but it did nothing:
<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.2"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_2.xsd">
<application>
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
<converter>
<converter-for-class>java.lang.Enum</converter-for-class>
<converter-class>javax.faces.convert.EnumConverter</converter-class>
</converter>
</application>
</faces-config>