BSTEK Development Framework2(BDF2) : 13.BDF2-COMPONENTPROFILE

功能介绍

该模块提供了doardo7数据感知控件(datagrid,autoform)的个性化定制功能.  所谓的定制化就是允许用户根据自己的需求去调整某一字段顺序,显隐宽度等信息,并将该信息持久化到数据库, 使得用户有更人性化的浏览体验.

环境搭建

本模块依赖于BDF2-ORM模块,也就是说只要是BDF项目,都可以运行该模块.

Maven Project

为现有的BDF2 maven项目添加如下依赖:

BDF2-COMPONENTPROFILE maven依赖
<dependency>
  <groupId>com.bstek.bdf2</groupId>
  <artifactId>bdf2-componentprofile</artifactId>
  <version>2.0.0</version>
</dependency>

 

Dynamic Web Project

如果现在已经有了一个bdf2项目, 可以去nexus下载该模块的jar包:bdf2-componentprofile-2.0.0.jar, 并将其放到项目web-inf/lib目录下. 

如果还没有一个bdf项目可以通过我们的向导来生成一个新的bdf2项目.

jar包添加完毕之后, 通过在线的方式更新dorado7规则. 如果在视图文件的Dorado ToolBox的BDF2分类里看到两个ProfileAction(AutoformProfielAction,DataGridProfileAction)控件说明该模块已成功安装.

配置方式

  1. 实现接口

    要使用该控件,首先要实现com.bstek.bdf2.componentprofile.service.IDataService接口.  该接口只有一个方法,getProfileKey. 个性化定制的结果以这个key去保存,同时以这个key去加载.如果我们定义profileKey为当前登录用户名,那么每个用户都可以拥有专属自己的个性化定制,如果profileKey定义为当前登录用户所在的部门,那么每个部门共有一个个性化定制化.

    IDataService接口
    public interface IDataService {
        String getProfileKey();
    }
    以当前登录人为profileKey的样例
    public class UserProfile implements IDataService {
    	public static String UNKNOWN = "unknown";
    	@Override
    	public String getProfileKey() {
    		String profileKey = null;
    		try {
    			profileKey = ContextHolder.getLoginUserName();
    		} catch (Exception e) {
    			profileKey = UNKNOWN;
    		}
    		return profileKey;
    	}
    }

    定义好这个类,并将这个类配置到spring的BeanFactory中

  2. 配置ProfileAction控件
    首先要根据需要为view页面添加相应ProfileAction控件。
    2.1 dataGridProfileAction只比正常的action多了一个属性dataGrid,用来绑定要保存个性化配置的dataGrid. 
    dataGridProfileAction的配置:

    2.2 autoformProfileAction的autoForm跟dataGridProfileAction的dataGrid功能类似,是用来绑定一个要保存个性化信息的autoform控件。该action比datagridProfileAction多了四个属性如图所示:

    多出四个属性是因为autoform的个性化是在一个单独的对话框中实现的,而datagrid是可以直接对自身做修改,这四个属性控件着配置对话框中相应的列的显隐,默认都是显示的。如果某一列,不希望用户去个性化定制,将其设置为false即可。



  3. 当我们对dataGrid做过调整之后,触发dataGridProfileAction,调整过后的数据就可以自动的保存到数据库里。触发的方式也跟其它action一样,可以通过button绑定action的方式也可以通过调用action的execute方法。
    当触发autoformProfileAction之后,会弹出如上图所示的配置对话框,在该对话框内对autoform做修改,然后点击保存,即可保存个性化配置,这时需要刷新页面看到效果。
    绑定方式(两个action方法一样,以dataGridProfileAction为例):


    onClick事件方式:
  4. 重置个性化设置
    当我们需要清除已有的个性化配置时,需要执行profileAction的resetConfig方法来恢复到默认设置。该事件只能通过javascript来触发。


 

 

 

 

 

 

 

 

 

Attachments:

newActions.png (image/png)
datagridaction.png (image/png)
buttonOnclick.png (image/png)
button.png (image/png)
reset.png (image/png)
autoform.png (image/png)
autoformConfig.png (image/png)