gpt4 book ai didi

java - 从工作 DropDownChoice 和 SelectOption 的模型中获取值类型 Enum

转载 作者:行者123 更新时间:2023-12-02 03:47:43 25 4
gpt4 key购买 nike

我无法获取链接到 SelectOption[] 类的 DropDownChoice 的 Enum 类型值,我看到该对象具有预期值,但我不知道如何在我的模型中获取它。

最初,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;
}

}

选择选项是:

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()); 

错误:“无法施放”

请帮忙。

最佳答案

当我运行调试时,我意识到 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”值作为枚举类型获取

关于java - 从工作 DropDownChoice 和 SelectOption 的模型中获取值类型 Enum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56794422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com