Dorado 7 : 17.3.4.1 修改视图并调整配置

项目开发中我们会遇到很多诸如此类的情况:

  • 性别数据库存的是1和0,界面显示希望是"男"和"女";
  • 婚否数据库存的是Y和N,界面显示希望是"是"和"否";

对于一个实体对象,可能会有很多个属性需要这种翻译处理,在Dorado中我们将它理解为mapping的映射处理,并专门提供了mapping的处理机制。

现在我们调整员工信息的婚否字段,使之能够自动映射。

 

步骤1:修改DataType配置

在SlEmployee这个DataType下新增1个PropertyDef设置propertyDef的属性如下:

属性说明
namemarried属性名
label婚否属性的标签,即用于显示的属性名
mapping->mapValues${dorado.getDataProvider("marriedDropDownInterceptor#getMarriedState").getResult()}映射数据来源

info

mapping下的mapValues属性为映射数据的来源,一般有三种设置方法:

  1. 通过View配置mapping
  2. 利用JS初始化mapping
  3. 通过后台方法进行配置

在本节中我们采用的是第3种设置方式,通过EL表达式获取后台的DataProvider,执行marriedDropDownInterceptor这个bean中的getMarriedState方法,为映射下拉框提供数据。

对于前2种配置方式,请参考:Mapping下拉框

如下图所示:

 

步骤2:修改autoformEmployee

展开【autoformEmployee】控件,选中【married】字段,设置其属性如下:

属性说明
editorTypeTextEditor表单项编辑类型

到目前为止,View部分设置完毕,接下来我们准备后台服务。

note

需要注意的是采用Mapping方式进行数据映射,只适用于少量数据,一旦数据量过大则可能造成性能问题,所以在数据量较大的情况下建议采用DataSetDropDown进行映射。

Attachments:

17.3-10.png (image/png)