wicket控件RadioChoice,ropDownChoice用法

来源:互联网 发布:微信矩阵是什么意思 编辑:程序博客网 时间:2024/06/05 06:14

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框架的人太少了,太可怜了,一点资料都没!

原创粉丝点击