Facet开发中data model provider的使用

本文介绍在Facet开发中使用DataModelProvider为页面提供数据模型的经验,包括重写方法、设置控件状态及如何确保Label同步更新等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Facet开发中data model provider使用的一些心得体会

 

在进行facet相关开发时,若使用data model provider(如继承于FacetInstallDataModelProvider)来为facet page提供模型数据,需重写以下方法:

1)      重写getPropertyName方法,主要用来添加属性名,通常是在facet page页面中和控件对应的属性名,该控件的值保存于data model中,并与data model保存同步

2)      重写getDefaultProperty方法,用来设置facet page中控件显示的默认初始值

3)      重写isPropertyEnabled方法,用来设置facet page中某个属性对应的某个控件是否可用(enabled or disabled

4)      重写propertySet方法,当修改facet page中控件的值时,会触发propertySet方法的调用

其中3, 4项不是必需的,要视具体应用而定

 

若要设置Label控件为不可用状态,Label的初始值也应在getDefaultProperty方法中进行设置,在facet page页面中,也应使用synchHelper.synchLabel(…)方法来使Label显示值与dataModel同步

 

 

另外,dataModel的实现类为DataModelImpl,其中有一个Map属性propertyValues,当调用dataModelgetProperty(String propertyName)方法时,其执行顺序如下:

1)  propertyValues中根据属性名查找属性值,若找到就返回属性值

2)  propertyValues中没有要查找的属性名,就调用data model providergetDefaultProperty方法来返回属性值,这也说明了为什么要重写data model providergetDefaultProperty方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值