我正在尝试找出在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)
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…