您的位置:首页 > 运维架构

2009-03-29技术学习:wicket控件RadioChoice,ropDownChoice用法

2009-03-29 21:27 465 查看
DropDownChoice、RadioChoice设定值方法:

固定值:

前台html:

<span wicket:id="raVisible"></span>


JAVA:

//使用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

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框架的人太少了,太可怜了,一点资料都没!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: