今天主要做的是功能添加,如何使用快速开发平台来添加自己的一个功能和其功能添加子功能的操作。
1.建立主功能
a) 在对应的model包建立model,也就是javaBean,该model继承于ExtendBaseAction
在类名上应该加
@Entity
@GenericGenerator(name="systemUUID",strategy="uuid")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
Model的属性上应该加@FieldChineseName(value="流程排序")的注解,其值表示在前台现实的信息。如果字符串过长。 则可以加@Column(length=50)来指定长度
并且在主键的get方法上加
@Id
@GeneratedValue(generator="systemUUID")
@Column(length=50)
b) 在对应的action包建立action,该action继承BaseAction,并在对应的xml文件中注册action
建立action中声明该实体的实例对象(声明的时候需要new),并且生成set/get方法,在getModel方法中返回该实例
在action类名上加注解:
@Component("schedulingProcessAction")
@Scope("prototype")
第一个指定的是action的名字,也就是在struts2注册的时候的action的类名和action名
c) 在对应的struts的xml文件中注册上此action,class属性指定成注解中的名称
d) 这时应该停服务,把bean.xml中的52行--62行注释。把63行的那段放开并指定上自己的model全名称 hibernate的属性改成create。然后启动服务会报错。这时去数据库看建表没有。有就把bean.xml还原。
e) 前台的配置
在子功能中添加功能,编码为model名称,主键等相应配置完。Action的路径应该为命名空间+action名。表名与类名相同。 这时就完成了子功能的添加。
找到菜单管理并增加菜单,添加功能,在右边选择模版,选择自己新添加的功能。保存即可。
找到角色权限管理。找到自己的功能全部打上勾并保存给自己授权。 然后刷新就可以看到自己的功能了。 在设置中可以配置相应的列表和表单信息。
2.建立主功能和子功能。
a) 后台,大概与上相同。
在多方增加属性(一方的对象[声明时不需要new 实例化]字段上也加上joinColumns注解)
在一方配置集合属性 (多方的对象[声明时需要new 实例化])
在双方的get方法上面配置对应的注解。oneToMany manyToOne
可参考:com.ketr.basic.model.SchedulingProcessDetail和SchedulingProcess的实例
在双方的Action中生成无参构造器
然后里面写上相应的代码。
一方写:
excludesMap.put("load", "schedulingProcessDetails");
excludesMap.put("getInfoById", "schedulingProcessDetails");
excludesMap.put("doUpdate", "schedulingProcessDetails");
excludesMap.put("doSave", "schedulingProcessDetails");
多方写:
excludesMap.put("load", "schedulingProcess");
excludesMap.put("getInfoById", "schedulingProcess");
excludesMap.put("doUpdate", "schedulingProcess");
excludesMap.put("doSave", "schedulingProcess");
并在多方的getModel上
foreignKey表示它们关联使用的外键
foreignKey = request.getParameter("foreignKey");
SchedulingProcess schedulingProcess = new SchedulingProcess();
schedulingProcess.setId(foreignKey);
schedulingProcessDetail.setSchedulingProcess(schedulingProcess);
return schedulingProcessDetail;
b) 前台在设置中, 点击子功能, 添加-- 主功能的名称和编码则是选择主功能的主键即可。 外键也是同样选择外键这个字段。 然后在选择 where条件 = 即可完成子功能的添加。并且在菜单管理中选中需要添加到那个菜单下面。 然后点击添加功能,并选择模 块。然后菜单就会出现了。 还有在角色权限管理中授权。 点击设置,把新的功 能勾上确定--保存即可
3.对系统中已有实体增加属性
添加数据字典的字段
首先找到com.pc.dd.model.Dictionary 然后添加对应的属性并在数据库中增加对应的字段。
再找到前台的core-coreApp-sys-dd-DDGridView 添加到grid的columns
4.为添加子功能的grid中增加新字段:
找到这个类。增加相应的属性。并在数据库中添加该字段
com.pc.develop.model.AssociationField
前台找到:
core-coreApp-sys-develop-view-subsystem-resedit-AssFieldList.js文件并修改grid中的columns中增加该字段。
5.当功能需要使用其他的js文件。 也就是controller的时候,需要在相应的位置定义自己的controller文件写法:
a) 首先类名与目录名+文件名。
b) Mixis中混入使用工具类
c) 然后可以在control注册自己的事件。使用的选择器是别名选择器:
'mtformview[itemId=Attachment_form] field[name=fileName]'
Mtformview 所有form组建 使用属性选择器确定自己的form 然后就可以注册事件了。
最后一步:在前台的配置中把自己定义的controller的全类名加入到功能的扩展js文件上。此功能就可以触发自己定义的事件。