将枚举绑定为Play中的<select>元素!框架2.1 - java

我正在尝试找出在Play中将enum绑定到下拉<select>的最佳实践! 2.0

这是我的枚举:

public enum ContactType {
    CLIENT(1),
    CONTRACTOR(2),
    SUPPLIER(3);

    public final int id;

    ContactType(int id) {
      this.id = id;
    }
}

在我看来,这就是我想要得到的结果:

<select name="contactType">
  <option value="1">CLIENT</option>
  <option value="2">CONTRACTOR</option>
  <option value="3">SUPPLIER</option>
</select>

参考方案

模板中的类似内容应该可以工作:

<select name="contactType">
    @for(cType <- ContactType.values()){
        <option value="@cType.id">@cType.name()</option>
    }
</select>

注意:最好使用toString()而不是name()。如果您在枚举中覆盖toString(),则可以返回Contractor而不是CONTRACTOR。

注意2:如果您的枚举不在models包中,则需要在其前面加上正确的包名称,即:@for(cType <- com.my_company.enums.ContactType)

Java中的<<或>>>是什么意思? - java

This question already has answers here: Closed 7 years ago. Possible Duplicate: What does >> and >>> mean in Java?我在一些Java代码中遇到了一些陌生的符号,尽管代码可以正确编译和运行,但对于括号在此代码中的作用却感…

菱形运算符<>是否等于<?> - java

我在util.TreeSet类中发现,其中一个构造函数正在使用具有空泛型类型的新TreeMap调用另一个构造函数。 public TreeSet(Comparator<? super E> comparator) { this(new TreeMap<>(comparator)); } new TreeMap<>是什么意思…

休眠映射<键,设置<值>> - java

我有以下表格:@Entity @Table(name = "events") Event --id --name @Entity @Table(name = "state") State --id --name @Entity @Table(name = "action") Action --id …

无法从ArrayList <String>转换为List <Comparable> - java

当我写下面的代码时,编译器说 无法从ArrayList<String>转换为List<Comparable>private List<Comparable> get(){ return new ArrayList<String>(); } 但是当我用通配符编写返回类型时,代码会编译。private List&l…

合并List <T>和List <Optional <T >> - java

鉴于: List<Integer> integers = new ArrayList<>(Arrays.asList( 10, 12 )); List<Optional<Integer>> optionalIntegers = Arrays.asList( Optional.of(5), Optional.em…