【发布时间】:2019-06-22 19:32:10
【问题描述】:
根据这个答案:https://stackoverflow.com/a/8229982/988145,JSF 应该自动转换枚举。出于某种原因,它没有。我收到以下错误:
“'null Converter'的FrequencyConversion错误设置值'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>
bean 中的频率类型 getter:
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>
【问题讨论】:
-
请考虑提供任意版本信息和minimal reproducible example。例如,
#{cellContentsBean.pillSheetProfile.frequency}的目标未在您的问题中定义。
标签: jsf