DropDownChoice、RadioChoice设定值方法:
固定值:
前台html:
view plaincopy to clipboardprint?
<span wicket:id="raVisible"></span>
<span wicket:id="raVisible"></span>
JAVA:
view plaincopy to clipboardprint?
//使用List设置控件的text
List lsVisible = Arrays.asList(new String[]{"显示", "不显示"});
raVisible = new RadioChoice("raVisible", visibleModel, lsVisible).setSuffix(" "); //设置后缀为空字串可以横向显示
form.add(raVisible);
//设置value
raVisible.setModelValue(new String[]{"1", "0"});
//初始值
使用 visibleModel.setObject();可设置初始值。
如:visibleModel.setObject("显示");
//赋值
前面已经初始化好了控件,所以赋值时只需要将Model的值设置一下即可
//取值
取得Model的值即可,使用:
value = visibleModel.getObject().toString().equals("显示") ? 1 : 0;
//使用List设置控件的text
List lsVisible = Arrays.asList(new String[]{"显示", "不显示"});
raVisible = new RadioChoice("raVisible", visibleModel, lsVisible).setSuffix(" "); //设置后缀为空字串可以横向显示
form.add(raVisible);
//设置value
raVisible.setModelValue(new String[]{"1", "0"});
//初始值
使用 visibleModel.setObject();可设置初始值。
如:visibleModel.setObject("显示");
//赋值
前面已经初始化好了控件,所以赋值时只需要将Model的值设置一下即可
//取值
取得Model的值即可,使用:
value = visibleModel.getObject().toString().equals("显示") ? 1 : 0;
数据库取值:
使用Map
view plaincopy to clipboardprint?
private List lsSystemObject = new ArrayList();
private Map mapSystemObject = new HashMap();
private IChoiceRenderer renderer = new ChoiceRenderer() {
@Override
public Object getDisplayValue(Object object) {
return mapSystemObject.get(object);
}
};
List listAllSystemObject = getAllSystemObject();
for (int i = 0; i < listAllSystemObject.size(); i++) {
SystemObject sysObject = (SystemObject) listAllSystemObject.get(i);
lsSystemObject.add(sysObject.getSystemID().toString());
mapSystemObject.put(sysObject.getSystemID().toString(), sysObject.getSystemName());
}
ddcSystemObject = new DropDownChoice("ddcSystemObject", systemIDModel, lsSystemObject, renderer);
form.add(ddcSystemObject);
private List lsSystemObject = new ArrayList();
private Map mapSystemObject = new HashMap();
private IChoiceRenderer renderer = new ChoiceRenderer() {
@Override
public Object getDisplayValue(Object object) {
return mapSystemObject.get(object);
}
};
List listAllSystemObject = getAllSystemObject();
for (int i = 0; i < listAllSystemObject.size(); i++) {
SystemObject sysObject = (SystemObject) listAllSystemObject.get(i);
lsSystemObject.add(sysObject.getSystemID().toString());
mapSystemObject.put(sysObject.getSystemID().toString(), sysObject.getSystemName());
}
ddcSystemObject = new DropDownChoice("ddcSystemObject", systemIDModel, lsSystemObject, renderer);
form.add(ddcSystemObject);
以上便将text和value关联了起来,但同样用Model来控制。
//初始值
若以上代码中value={"1000","200"} text={"第一项","最后一项"}
则初始值如下设置:
systemIDModel.setObject("100");
//赋值:
从数据库读取出value然后将Model的值设置为value即可:
systemIDModel.setObject(menu.getSystemID().toString()); //注意value的类型要与List中的相同
//取值:
同样,取得Model的值即可得到此便中的DropDownChoice的值
Integer logTypeID = Integer.valueOf(logTypeIDModel.getObject().toString());
PS:国内用Wicket框架的人太少了,太可怜了,一点资料都没!