Согласно этому ответу: https://stackoverflow.com/a/8229982/988145, JSF должен автоматически преобразовать перечисления. По какой-то причине это не так. Я получаю следующую ошибку:
"Тип настройки ошибки типа частоты преобразования" DAY_OF_WEEK "для" нулевого преобразователя "."
Мое перечисление:
public enum FrequencyType implements Serializable
{
DAY_NUMBER, DAY_OF_WEEK
}
Выберите разметку:
<h:selectOneMenu onchange="toggleFrequencyTypes(this);"
value="#{cellContentsBean.pillSheetProfile.frequency}"
class="form-control" id="frequencyTypeDd">
<f:selectItems value="#{cellContentsBean.frequencyTypes}" />
</h:selectOneMenu>
Частотный тип геттера в бобе:
public FrequencyType[] getFrequencyTypes() {
return FrequencyType.values();
}
сеттеры:
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;
}
Я даже добавил конвертер в конфигурацию лиц, как предлагает другой поток, но он ничего не сделал:
<?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>