我无法获取链接到SelectOption[]类的DropDownChoice的枚举类型值,我看到该对象具有期望值,但我不知道如何在我的模型中获取它。
最初,DropDownChoice使用模型中定义的值,它工作得很好,但我需要显示每个值的详细信息,这让我陷入了困境
@Entity
public class Asegurado extends EntityBase {
@Enumerated(EnumType.STRING)
private Genero genero = Genero.M;
public static enum Genero {
M, F, D
}
public Genero getGenero() {
return genero;
}
public void setGenero(Genero genero) {
this.genero = genero;
}}
selectOption为:
public class SelectOption implements Serializable{
private static final long serialVersionUID = 1L;
private Enum<?> name;
private String value;
public SelectOption(Enum<?> name, String value) {
this.name = name;
this.value = value;
}
public Enum<?> getName() {
return name;
}
public void setName(Enum<?> name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public static long getSerialversionuid() {
return serialVersionUID;
}}
在应用程序Bean中:
SelectOption[] options = new SelectOption[] {
new SelectOption(Genero.M, "Masculino"),
new SelectOption(Genero.F, "Femenino"),
new SelectOption(Genero.D, "Diferenciado")
};
Asegurado wase = new Asegurado();
ChoiceRenderer<Enum> choiceRenderer = new ChoiceRenderer<Enum>("value", "name");
final DropDownChoice<Asegurado.Genero> generoWk = new DropDownChoice(
"genero",
new Model<Asegurado.Genero>(Asegurado.Genero.D),
Arrays.asList(options),
choiceRenderer
);在onSubmit()中,问题出在:
asegurado.setGenero(generoWk.getModelObject()); 错误:"Cannot be cast“
请帮帮忙。
发布于 2019-06-28 01:24:07
当我运行调试时,我意识到DropDownChoice加载正确:
generoWK=DropDownChoice<T>
data=Model<T>
Object=Asegurado$Genero
name="D"当我执行onSubmit()时,它会发生变化:
val$generoWK=DropDownChoice<T>
data=Model<T>
Object=SelectOptions
name=Asegurado$Genero
name="D"有些东西会导致变量被修改,我不知道是什么原因,但我希望将name = "D“值作为枚举类型获取
https://stackoverflow.com/questions/56794422
复制相似问题