Buffalo自动绑定表单Select数据的一个例子

      Buffalo是一个优秀的 Ajax 实现框架,它实现了Javascript Object与Java Object之间的双向序列化,并且提供了将JavaScript对象绑定到HTML元素的能力。这种绑定将是无侵入的,只需要在HTML元素中加入若干个不影响排版的属性,即可将数据与界面绑定。值得可喜的是这个优秀的框架是国内的大牛写的,业界类似的实现还有 DWR 框架。

    下面是做项目的一个记录,实现HTML元素 Select 与 Java 对象自动数据绑定。

一、JAVA 类
      下面是代码片断:     

   public Object[] listDictChannelDd() {
      List list = new java.util.ArrayList();
      for (int i=0;i<6;i++) {
          DictValueBean bean = new DictValueBean();
          bean.setLabel("广东Vnet_" + i);
          bean.setValue(String.valueOf(i+1));
          list.add(bean);
      }

      return list.toArray();
   }

二、DictValueBean类的代码实现非常简单,它只有两个属性 label 和 value,并且有它们的 setter 和 getter 方法

  public class DictValueBean implements Serializable {
private String value;
private String label;

/**
* @return Returns the label.
*/
public String getLabel() {
return label;
}
/**
* @param label The label to set.
*/
public void setLabel(String label) {
this.label = label;
}
/**
* @return Returns the value.
*/
public String getValue() {
return value;
}
/**
* @param value The value to set.
*/
public void setValue(String value) {
this.value = value;
}
}

三、下面是HTML代码片断:

   <select name="payChannel" id="payChannel"
         jtext="label" jvalue="value">
   </select>

   相信细心的读者,应该看出这里的jtext 和 jvalue 的作用了:没错,它就是对应 DictValueBean 类的 label 属性和 value 属性的。

四、下面是Javascript代码片断:

   var springEndPoint = webContext + "/bfapp";//Ajax remote url
   var buffalo = new Buffalo(springEndPoint);

   buffalo.bindReply('gdvnetAutopayService.listDictChannelDd',[],'payChannel');

   这里的 'payChannel'是对应HTML页面的 select 元素的 id 名称。

这样,就完成我们的HTML Select元素与Java Object的数据绑定了。

 原帖: http://huaronghu.spaces.live.com:80/blog/cns!b9a68e1c1ca857ad!132.entry

你可能感兴趣的:(Buffalo自动绑定表单Select数据的一个例子)