List<Kind> oneLevelKindList = kindService.getList();
final DropDownChoice oneLevelKind = new DropDownChoice("oneLevelKind",new Model(),oneLevelKindList);
oneLevelKind.setChoiceRenderer(new IChoiceRenderer() {
public Object getDisplayValue(Object o) { //设置displayName
Kind k = (Kind) o;
return k.getName();
}
public String getIdValue(Object o, int arg1) { //设置Value
Kind k = (Kind) o;
return String.valueOf(k.getId());
}
});
oneLevelKind.setLabel(new Model("所属类别"));
oneLevelKind.setRequired(true);
这里要填入一个new Model(),第三个参数是List<Kind>
之后在onSubmit方法里面使用getModelValue方法取出:
public void onSubmit(){
if(kindService.checkExistByName(kind.getName())){
info("二级商品种类名已存在!");
}
else{
kind.setParentId(Long.parseLong(oneLevelKind.getModelValue()));
kind.setLevel(2);
kindService.saveObject(kind);
this.setResponsePage(CreateResult.class);
}
}
DropDownChoice设置默认值十分简单,只需要设置一个有初始值的Model就可以了,例子:
List list = new ArrayList();
list.add("A");
list.add("B");
final DropDownChoice dropdownchoice = new DropDownChoice("dropdownchoice",new Model("B"),list);
要注意Model的值要对应list里面的项,如果list里面放的是其它对象,那么Model的值就要放其它对象,例如:
List list = new ArrayList();
list.add(new User("Tom"));
list.add(new User("Jason"));
final DropDownChoice dropdownchoice = new DropDownChoice("dropdownchoice",new Model(new User("Jason")),list);