Extjs5开发学习-29-加入模块和菜单定义[2建立javabean]_第1页
Extjs5开发学习-29-加入模块和菜单定义[2建立javabean]_第2页
Extjs5开发学习-29-加入模块和菜单定义[2建立javabean]_第3页
Extjs5开发学习-29-加入模块和菜单定义[2建立javabean]_第4页
Extjs5开发学习-29-加入模块和菜单定义[2建立javabean]_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Extjs5开发学习-29-加入模块和菜单定义2建立java bean对上一节中加入的4个模块在java中建立相应的bean文件。     以上表建立好以后,需要建立java bean文件。在建立之前需要加入几个支持类。     先在mon中建立包annotation,再在下面加入二个类库,这二个是自定义的注释类。分别用来注释每一个模块的信息和模块中每一字段的信息。java view plain copy1. package mon.annotation;  2.  

2、0;3. import java.lang.annotation.Retention;  4. import java.lang.annotation.RetentionPolicy;  5.   6. /* 7.  * 用来注释模块 8.  *  9.  * author jiangfeng 10.  */  11. Retention(RetentionPolicy.RUN

3、TIME)  12. public interface TableDefine   13.   14.     / 此表的id号,为一个4位数字  15.     int id();  16.   17.     / 模块名称  18.    

4、60;String title();  19.   20.     / 模块简称  21.     String shortname() default ""  22.   23.     / 模块分组名称  24.     String&

5、#160;group();  25.   26.     / 模块的主键是否可以是分级的,如果是可以分级的,可定义为"2,2,2",表示有三级,每级代码长为2位,  27.     / 比如会计科目可以这样来定义  28.     / 10  29.     / 1001

6、0; 30.     / 100101  31.     / 100102  32.     / 100102  33.     / 1002  34.     / .  35.     String

7、 codeLevel() default ""  36.   37.     / 模块是否有附件  38.     boolean attachment() default false;  39.   40.   java view plain copy1. package mo

8、n.annotation;  2.   3. import java.lang.annotation.Retention;  4. import java.lang.annotation.RetentionPolicy;  5.   6. /* 7.  * 用来注释模块中的每个字段 8.  *  9.  * author jiangfeng 10.  *&#

9、160; 11.  */  12. Retention(RetentionPolicy.RUNTIME)  13. public interface FieldDefine   14.   15.     String title();  16.   17.     int number() default 

10、0;  18.   19.     String remark() default ""  20.   21.     boolean nameField() default false;  22.   23.     boolean hidden() def

11、ault false;  24.   25.     String fieldGroup() default "默认组"  26.   27.           在com.jfok.server.hibernate中建立包system,把系统用到的bean文件都放在这个目录下。先建立一个接口文件:java view plain copy

12、1. package com.jfok.server.hibernate.system;  2.   3. /* 4.  * 有此接口的类,都是系统模块的控制类 5.  *  6.  * author jfok 7.  *  8.  */  9. public interface _IModuleControlInterface  

13、60;10.   11.   再建立_ModuleGroup.javajava view plain copy1. package com.jfok.server.hibernate.system;  2.   3. import java.io.Serializable;  4.   5. import javax.persistence.Column;  6. import javax.per

14、sistence.Entity;  7. import javax.persistence.Id;  8.   9. import mon.annotation.FieldDefine;  10. import mon.annotation.TableDefine;  11.   12. /* 13.  * 模块分组类,每一个模块都有一个大类分组 14.  *  15. 

15、60;* author jfok 2012.11.7 16.  */  17. SuppressWarnings("serial")  18. Entity  19. org.hibernate.annotations.Entity(dynamicUpdate = true)  20. TableDefine(group = "系统模块", id = 990

16、1, title = "模块分组")  21. public class _ModuleGroup implements _IModuleControlInterface, Serializable   22.   23.     public static final String TITLE = "tf_title

17、"  24.   25.     Id  26.     FieldDefine(title = "模块分组序号", number = 10)  27.     Column(nullable = false, length = 10)  28. &

18、#160;   private String tf_moduleGroupId;  29.   30.     FieldDefine(title = "模块分组名称", nameField = true, number = 20)  31.     Column(nullable = f

19、alse, length = 50)  32.     private String tf_title;  33.   34.     FieldDefine(title = "描述", number = 30)  35.     private String 

20、;tf_description;  36.   37.     FieldDefine(title = "图标地址", number = 40)  38.     private String tf_iconURL;  39.   40.     FieldDefine(title

21、0;= "备注", number = 50)  41.     private String tf_remark;  42.   43.     public _ModuleGroup()   44.   45.       46.   /

22、 setter and getter  47.           上面这个类中,就用自定义的注释类来进行了注释,一个是注释在类名上,一个是注释在各个字段上。这二个类注释的功能是以后在增加一个模块的时候,会自动把这些注释的信息自动的加到保存的模块和模块字段的表中。        再加入_Module.javajava view plain copy1. package com.jfok.server.hibernat

23、e.system;  2.   3. import java.io.Serializable;  4. import javax.persistence.CascadeType;  5. import javax.persistence.Column;  6. import javax.persistence.Entity;  7. import javax.persistence.FetchType;  

24、8. import javax.persistence.Id;  9. import javax.persistence.JoinColumn;  10. import javax.persistence.ManyToOne;  11.   12. import org.codehaus.jackson.map.annotate.JsonSerialize;  13.   14. import mon.annotation.F

25、ieldDefine;  15. import mon.annotation.TableDefine;  16.   17. /* 18.  * 系统中每个模块的字义 19.  *  20.  * author jfok 2012.11.7 21.  *  22.  */  23. JsonSerialize(include = 

26、;JsonSerialize.Inclusion.NON_EMPTY)  24. SuppressWarnings("serial")  25. Entity  26. org.hibernate.annotations.Entity(dynamicUpdate = true)  27. TableDefine(group = "系统模块", id = 9902, title =

27、0;"系统模块")  28. public class _Module implements _IModuleControlInterface, Serializable   29.   30.     public static final String MODULEID = "tf_moduleId"  31. &

28、#160;   public static final String MODULENAME = "tf_moduleName"  32.   33.     Id  34.     FieldDefine(title = "模块ID号", number = 10) &#

29、160;35.     Column(nullable = false, length = 10)  36.     private String tf_moduleId; / 模块,模块序号  37.   38.     ManyToOne(cascade = CascadeType.REFRESH,

30、60;fetch = FetchType.EAGER)  39.     JoinColumn(name = "tf_moduleGroupId")  40.     FieldDefine(title = "模块分组", number = 20)  41.     private

31、0;_ModuleGroup tf_ModuleGroup;  42.   43.     FieldDefine(title = "模块标识", number = 30)  44.     Column(nullable = false, length = 50, updatable = fals

32、e)  45.     private String tf_moduleName; / 模块英文名称  46.   47.     FieldDefine(title = "模块名称", nameField = true, number = 40)  48.    &#

33、160;Column(nullable = false, length = 50)  49.     private String tf_title; / 模块中文名称  50.   51.     FieldDefine(title = "模块简称", number = 50) 

34、0;52.     Column(length = 20)  53.     private String tf_shortname; / 简称  54.   55.     FieldDefine(title = "英文简称", number = 60)  56. &

35、#160;   Column(length = 20)  57.     private String tf_englishname; / 英文简称,在新增序号的时候,可以把这字母加进去  58.   59.     FieldDefine(title = "表名", number = 70)

36、60; 60.     Column(length = 50)  61.     private String tf_tableName;  62.   63.     FieldDefine(title = "主键", number = 80)  64.   

37、;  Column(nullable = false, length = 50)  65.     private String tf_primaryKey;/ 模块主键  66.   67.     FieldDefine(title = "显示标志字段", number = 81)&#

38、160; 68.     Column(nullable = false, length = 50)  69.     private String tf_nameFields;/ 模块主要关键内容的字段,如合同的是合同名称,部门的是部门名称  70.   71.     FieldDefine(title =

39、0;"记录标题tpl", number = 82, remark = "如果显示标志字段不能描述记录,需要设置此内容")  72.     Column(length = 200)  73.     private String tf_titleTpl;/ 模块主要关键内容的字段,如合同的是合同名称,部门的是部门名称 

40、 74.   75.     FieldDefine(title = "编码字段", number = 91)  76.     Column(length = 50)  77.     private String tf_codeField;/ 模块编码字段,如果有的话 

41、60;78.   79.     FieldDefine(title = "顺序号字段", number = 97)  80.     Column(length = 50)  81.     private String tf_orderField;/ 模块编码字段,如果有的话 

42、0;82.   83.     FieldDefine(title = "日期字段", number = 92)  84.     Column(length = 50)  85.     private String tf_dateField;  86.   87.

43、    FieldDefine(title = "年度字段", number = 93)  88.     Column(length = 50)  89.     private String tf_yearfield;  90.   91.    

44、0;FieldDefine(title = "月度字段", number = 94)  92.     Column(length = 50)  93.     private String tf_monthField;  94.   95.     FieldDefine(title&#

45、160;= "季度字段", number = 95)  96.     Column(length = 50)  97.     private String tf_seasonField;  98.   99.     FieldDefine(title = "文件字

46、段", number = 96)  100.     Column(length = 50)  101.     private String tf_fileField;  102.   103.     FieldDefine(title = "主页上顺序", num

47、ber = 99)  104.     Column(length = 50)  105.     private String tf_homePageTag;  106.   107.     FieldDefine(title = "模块描述", number = 

48、100)  108.     Column(length = 50)  109.     private String tf_description;  110.   111.     FieldDefine(title = "请求地址", number = 110)  

49、;112.     Column(nullable = false, length = 50)  113.     private String tf_requestMapping;/ 系统中后台服务的调用接入点 user.do,employee.do 等  114.   115.     FieldDefine(ti

50、tle = "图标地址", number = 120)  116.     Column(length = 50)  117.     private String tf_iconURL;  118.   119.     FieldDefine(title = &qu

51、ot;默认排序字段", number = 130)  120.     private String tf_defaultOrderField;  121.   122.     FieldDefine(title = "行操作", remark = "新增及修改操作都行内完成", number&#

52、160;= 140)  123.     Column(nullable = false)  124.     private Boolean tf_isInlineOper;  125.   126.     / 如部门编码为 2,2,2,2,2  127.     

53、FieldDefine(title = "编码级次", remark = "如果设置了编码级次,则主键的长度必须是此级次中的,并且必须有父级编码存在", number = 150)  128.     Column(length = 50)  129.     String tf_codeLevel;  13

54、0.   131.     FieldDefine(title = "联动模块", remark = "在本模块的数据增删改后,打开的联动模块都要刷新数据。", number = 155)  132.     Column(length = 200)  133.     priv

55、ate String tf_linkedModule;  134.   135.     FieldDefine(title = "可用", number = 160)  136.     Column(nullable = false)  137.     private Bo

56、olean tf_isEnable = false;  138.   139.     FieldDefine(title = "可浏览", number = 170)  140.     Column(nullable = false)  141.     private

57、60;Boolean tf_hasBrowse = false;  142.   143.     FieldDefine(title = "可增加", number = 180)  144.     Column(nullable = false)  145.     priv

58、ate Boolean tf_hasInsert = false;  146.   147.     FieldDefine(title = "可修改", number = 190)  148.     Column(nullable = false)  149.    

59、0;private Boolean tf_hasEdit = false;  150.   151.     FieldDefine(title = "可删除", number = 200)  152.     Column(nullable = false)  153.    

60、 private Boolean tf_hasDelete = false;  154.   155.     FieldDefine(title = "可执行", number = 210)  156.     Column(nullable = false)  157.   

61、  private Boolean tf_hasExec = false;  158.   159.     FieldDefine(title = "可审核", number = 220)  160.     Column(nullable = false)  161.  &#

62、160;  private Boolean tf_hasAuditing = false;  162.   163.     FieldDefine(title = "可审批", number = 230)  164.     Column(nullable = false)  165.

63、    private Boolean tf_hasApprove = false;  166.   167.     FieldDefine(title = "可支付", number = 240)  168.     Column(nullable = false) 

64、0;169.     private Boolean tf_hasPayment = false;  170.   171.     FieldDefine(title = "有附件", number = 250)  172.     Column(nullable = false)

65、60; 173.     private Boolean tf_hasAddition = false; / 是否需要附件  174.   175.     FieldDefine(title = "可权限设置", remark = "用户可对此模块设置权限,选定的才可以浏览与操作", number 

66、;= 260)  176.     Column(nullable = false)  177.     private Boolean tf_canLimit = false; / 此模块是否能进行权限设置  178.   179.     FieldDefine(title = &qu

67、ot;Excel导入", remark = "是否可以通过Excel导入新增记录", number = 270)  180.     Column(nullable = false)  181.     private Boolean tf_allowInsertExcel = false;  182. &#

68、160; 183.     FieldDefine(title = "Excel修改", remark = "是否可以导出的Excel修改后再导入", number = 280)  184.     Column(nullable = false)  185.     private

69、60;Boolean tf_allowEditExcel = false;  186.   187.     FieldDefine(title = "可图表", number = 290)  188.     Column(nullable = false)  189.     

70、;private Boolean tf_hasChart = false;  190.   191.     FieldDefine(title = "系统模块", number = 300, remark = "如果是系统模块,用户没有浏览权限,就不把模块定义发送到前端")  192.     C

71、olumn(nullable = false)  193.     private Boolean tf_isSystem = false;  194.   195.     FieldDefine(title = "查询条件顺序号", number = 310, remark = "此模

72、块放在综合查询的条件选择栏中的顺序")  196.     private Integer tf_searchCondOrder;  197.   198.     FieldDefine(title = "备注", number = 800)  199.     private Stri

73、ng tf_remark;  200.   201.     public _Module()   202.   203.       204.   / setter and getter  205.           _MenuGroup.javajava

74、 view plain copy1. package com.jfok.server.hibernate.system;  2.   3. import java.io.Serializable;  4. import java.util.List;  5. import javax.persistence.Column;  6. import javax.persistence.Entity;  7. i

75、mport javax.persistence.Id;  8. import javax.persistence.Transient;  9. import mon.annotation.FieldDefine;  10. import mon.annotation.TableDefine;  11.   12. /* 13.  * 菜单分组 14.  *  15.  *

76、60;author jfok 16.  *  17.  */  18. SuppressWarnings("serial")  19. Entity  20. org.hibernate.annotations.Entity(dynamicUpdate = true)  21. TableDefine(group = "系统模块", id = 99

77、20, title = "菜单分组")  22. public class _MenuGroup implements _IModuleControlInterface, Serializable   23.   24.     Id  25.     FieldDefine(title = "顺序

78、号", remark = "菜单分组按顺序号显示在菜单条上", number = 10)  26.     Column(length = 10, nullable = false)  27.     private String tf_menuGroupId;  28.   2

79、9.     FieldDefine(title = "分组名称", nameField = true, number = 20)  30.     Column(length = 50, nullable = false)  31.     private String

80、0;tf_title;  32.   33.     FieldDefine(title = "展开", remark = "在树状菜单下默认是否展开", number = 30)  34.     private Boolean tf_expand;  35.   36. &#

81、160;   FieldDefine(title = "图标glyph", number = 40)  37.     private Boolean tf_glyph;  38.   39.     FieldDefine(title = "图标文件名", remark =&#

82、160;"图标放置于/images/module/目录下", number = 50)  40.     Column(length = 50)  41.     private String tf_iconURL;  42.   43.     FieldDefine(title = &

83、quot;分组描述", number = 60)  44.     Column(length = 50)  45.     private String tf_description;  46.   47.     FieldDefine(title = "备注", 

84、number = 70)  48.     private String tf_remark;  49.   50.     Transient  51.     private List<_MenuModule> tf_menuModules;  52.   53.  

85、60;  public _MenuGroup()   54.       55.   56.     /setter and getter  57.           _MenuModule.javajava view plain copy1. package com.jfok.serv

86、er.hibernate.system;  2.   3. import java.io.Serializable;  4.   5. import javax.persistence.CascadeType;  6. import javax.persistence.Column;  7. import javax.persistence.Entity;  8. import javax.persiste

87、nce.FetchType;  9. import javax.persistence.GeneratedValue;  10. import javax.persistence.Id;  11. import javax.persistence.JoinColumn;  12. import javax.persistence.ManyToOne;  13. import org.codehaus.jackson.annotate.JsonIg

88、nore;  14. import org.hibernate.annotations.GenericGenerator;  15. import mon.annotation.FieldDefine;  16. import mon.annotation.TableDefine;  17.   18. /* 19.  * 系统可使用的菜单项 20.  *  21.  * au

89、thor jfok 22.  *  23.  */  24. SuppressWarnings("serial")  25. Entity  26. org.hibernate.annotations.Entity(dynamicUpdate = true)  27. TableDefine(group = "系统模块", id = 9921,&#

90、160;title = "系统菜单")  28. public class _MenuModule implements _IModuleControlInterface, Serializable   29.     Id  30.     FieldDefine(title = "ID号", hidden

91、 = true, number = 10)  31.     GeneratedValue(generator = "increment")  32.     GenericGenerator(name = "increment", strategy = "increment") 

92、0;33.     private Integer tf_menuModuleId;  34.   35.     FieldDefine(title = "顺序号", remark = "按顺序号显示在菜单中", number = 20)  36.     Column(nul

93、lable = false)  37.     private Integer tf_orderId;  38.   39.     JsonIgnore  40.     ManyToOne(cascade = CascadeType.REFRESH, fetch = FetchType.EAGER)

94、60; 41.     JoinColumn(name = "tf_menuGroupId", nullable = false)  42.     FieldDefine(title = "菜单分组", nameField = true, number = 30)  43.   

95、;  private _MenuGroup tf_MenuGroup;  44.   45.     JsonIgnore  46.     ManyToOne(cascade = CascadeType.REFRESH, fetch = FetchType.EAGER)  47.     JoinColum

96、n(name = "tf_moduleId", nullable = false)  48.     FieldDefine(title = "系统模块", number = 40)  49.     private _Module tf_Module;  50.   51. &

97、#160;   FieldDefine(title = "父菜单标题", number = 50)  52.     Column(length = 20)  53.     private String tf_parentMenu;  54.   55.    

98、60;FieldDefine(title = "分隔下一条", number = 60)  56.     private Boolean tf_addSeparator;  57.   58.   59.     FieldDefine(title = "菜单标题", number =&

99、#160;70)  60.     Column(length = 50)  61.     private String tf_title;  62.   63.     FieldDefine(title = "父模块约束设置", number = 80)  64.     private String tf_parentFilter;  65.       66.     / 这个字段用于传送json到前台,放在json中  67.     Column

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论