Java 如何填充组合框,从枚举中获取值
我有一个带有一个组合框的jsp页面,还有一个枚举类 我想在jsp中填充我的组合框,当它被填充时,我想将这些值保存在D/B中,我如何在Struts 2中实现它Java 如何填充组合框,从枚举中获取值,java,struts2,Java,Struts2,我有一个带有一个组合框的jsp页面,还有一个枚举类 我想在jsp中填充我的组合框,当它被填充时,我想将这些值保存在D/B中,我如何在Struts 2中实现它 public enum Roles { ONE ("One"), TWO ("Two"), THREE ("Three"), FOUR ("Four"), FIVE ("Five"), ALL ("All"); private final String displayValue; priv
public enum Roles {
ONE ("One"),
TWO ("Two"),
THREE ("Three"),
FOUR ("Four"),
FIVE ("Five"),
ALL ("All");
private final String displayValue;
private Roles(String displayString){
this.displayValue = displayString;
}
public String getDisplayString() {
return displayValue;
}
public static Roles getRoleOf(String displayValue){
if(displayValue.equals("One"))
return ONE;
if(displayValue.equals("Two"))
return TWO;
if(displayValue.equals("Three"))
return THREE;
if(displayValue.equals("Four"))
return FOUR;
if(displayValue.equals("All"))
return ALL;
else return ALL;
}
}
您可以使用
Roles.values()
获取所有枚举值并从那里开始。角色应命名为Role。你在getRoleOf方法中忘记了五个。您应该迭代所有值(使用static values()方法)以找到具有给定名称的值:这将使代码更短、更健壮。您还可以将角色命名为one
,而不是one
,从而允许您使用roles.valueOf(String arg)
来获取角色值(如果没有异常,则捕获一个IllegalArgumentException
)。
Roles[] allRoles = Roles.values();
for(Roles role : allRoles) {
// add role to combo box using role.getDisplayString
}