`
newzai
  • 浏览: 13404 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Apache Pivot DataBind (一)

阅读更多

Pivot中的每个控件都提供了一下三个接口用于支持数据绑定的操作

public void load(Object context);
public void store(Object context);
public void clear();

 

load方法:用于从指定的Bean对象(context对象)加载指定的属性到控件内容或者控件选择的内容。

store方法:用于把控件的选择内容或者显示内容保存到指定的Bean对象(context)的特定属性中。

clear方法,用于清除控件的内容或者选择内容。

 

 

Pivot是一个支持MVC模块的GUI框架。如何简单的把数据模型的内容显示到视图,以及把用户在视图输入的内容保存到数据模型的问题决定了一个框架的复杂度。pivot的数据绑定方式使得 M与V之间的数据交换非常的容易。

除了以上三个方法以外,大多数控件还提供了 xxxkey,xxxBindMapping用于辅助数据绑定。

 

pivot还支持容器的数据绑定,默认情况下容器会调用所有子控件的load和store方法,从而实现了嵌套层次的数据绑定过程。

xxxKey的内容决定了控件的内容绑定到Bean对象的那个属性。

BindMapping由于控件的内容的数据类型和Bean对象属性的数据类型不匹配时,在load和stroe时进行数据转换。

 

控件还提供了一个BindType属性,用于指定绑定的方向。LOAD、STORE、BOTH。

LOAD 从Bean属性作为数据源,加载到控件的内容,load方法时使用。

STROE,控件的内容作为数据源,保存到Bean属性

BOTH,同时支持LOAD和STROE。

 

BindType使得我们可以控制Bean属性的是否为只读、只写或者读写。比如很多情况下,并不希望用户修改由数据库自动生成的ID字段,此时,可以把使用Label或者TextInput控件显示ID,并把其控件的BindType属性设置为load(LOAD)。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics