Extjs5开发学习-29-加入模块和菜单定义2建立java bean

更新时间:2023-09-14 15:42:01 阅读量: 初中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Extjs5开发学习-29-加入模块和菜单定义[2建立java bean]

对上一节中加入的4个模块在java中建立相应的bean文件。

以上表建立好以后,需要建立java bean文件。在建立之前需要加入几个支持类。 先在com.jfok.server.common中建立包annotation,再在下面加入二个类库,这二个是自定义的注释类。分别用来注释每一个模块的信息和模块中每一字段的信息。

[java] view plain copy

1. package com.jfok.server.common.annotation;

2.

3. import java.lang.annotation.Retention; 4. import java.lang.annotation.RetentionPolicy; 5. 6. /**

7. * 用来注释模块 8. *

9. * @author jiangfeng 10. */

11. @Retention(RetentionPolicy.RUNTIME) 12. public @interface TableDefine { 13.

14. // 此表的id号,为一个4位数字 15. int id(); 16.

17. // 模块名称 18. String title(); 19.

20. // 模块简称

21. String shortname() default \; 22.

23. // 模块分组名称 24. String group(); 25.

26. // 模块的主键是否可以是分级的,如果是可以分级的,可定义为\表示有三级,每

级代码长为2位,

27. // 比如会计科目可以这样来定义 28. // 10 29. // 1001 30. // 100101 31. // 100102 32. // 100102 33. // 1002 34. // ......

35. String codeLevel() default \; 36.

37. // 模块是否有附件

38. boolean attachment() default false; 39. 40. }

[java] view plain copy

1. package com.jfok.server.common.annotation;

2.

3. import java.lang.annotation.Retention; 4. import java.lang.annotation.RetentionPolicy; 5. 6. /**

7. * 用来注释模块中的每个字段 8. *

9. * @author jiangfeng 10. * 11. */

12. @Retention(RetentionPolicy.RUNTIME) 13. public @interface FieldDefine { 14.

15. String title(); 16.

17. int number() default 0; 18.

19. String remark() default \; 20.

21. boolean nameField() default false; 22.

23. boolean hidden() default false; 24.

25. String fieldGroup() default \默认组\; 26. 27. }

在com.jfok.server.hibernate中建立包system,把系统用到的bean文件都放在这个目录下。先建立一个接口文件:

[java] view plain copy

1. package com.jfok.server.hibernate.system;

2. 3. /**

4. * 有此接口的类,都是系统模块的控制类 5. *

6. * @author jfok

7. * 8. */

9. public interface _IModuleControlInterface { 10. 11. }

再建立_ModuleGroup.java

[java] view plain copy

1. package com.jfok.server.hibernate.system;

2.

3. import java.io.Serializable; 4.

5. import javax.persistence.Column; 6. import javax.persistence.Entity; 7. import javax.persistence.Id; 8.

9. import com.jfok.server.common.annotation.FieldDefine; 10. import com.jfok.server.common.annotation.TableDefine; 11. 12. /**

13. * 模块分组类,每一个模块都有一个大类分组

69. private String tf_nameFields;// 模块主要关键内容的字段,如合同的是合同名称,部

门的是部门名称 70.

71. @FieldDefine(title = \记录标题tpl\, number = 82, remark = \如果显示标志字段不

能描述记录,需要设置此内容\) 72. @Column(length = 200)

73. private String tf_titleTpl;// 模块主要关键内容的字段,如合同的是合同名称,部门的

是部门名称 74.

75. @FieldDefine(title = \编码字段\, number = 91) 76. @Column(length = 50)

77. private String tf_codeField;// 模块编码字段,如果有的话 78.

79. @FieldDefine(title = \顺序号字段\, number = 97) 80. @Column(length = 50)

81. private String tf_orderField;// 模块编码字段,如果有的话 82.

83. @FieldDefine(title = \日期字段\, number = 92) 84. @Column(length = 50) 85. private String tf_dateField; 86.

87. @FieldDefine(title = \年度字段\, number = 93)

88. @Column(length = 50) 89. private String tf_yearfield; 90.

91. @FieldDefine(title = \月度字段\, number = 94) 92. @Column(length = 50) 93. private String tf_monthField; 94.

95. @FieldDefine(title = \季度字段\, number = 95) 96. @Column(length = 50) 97. private String tf_seasonField; 98.

99. @FieldDefine(title = \文件字段\, number = 96) 100. @Column(length = 50) 101. private String tf_fileField; 102.

103. @FieldDefine(title = \主页上顺序\, number = 99) 104. @Column(length = 50)

105. private String tf_homePageTag; 106.

107. @FieldDefine(title = \模块描述\, number = 100) 108. @Column(length = 50) 109. private String tf_description;

110.

111. @FieldDefine(title = \请求地址\, number = 110) 112. @Column(nullable = false, length = 50)

113. private String tf_requestMapping;// 系统中后台服务的调用接入

点 user.do,employee.do 等 114.

115. @FieldDefine(title = \图标地址\, number = 120) 116. @Column(length = 50) 117. private String tf_iconURL; 118.

119. @FieldDefine(title = \默认排序字段\, number = 130) 120. private String tf_defaultOrderField; 121.

122. @FieldDefine(title = \行操作\, remark = \新增及修改操作都行内完成

\, number = 140)

123. @Column(nullable = false) 124. private Boolean tf_isInlineOper; 125.

126. // 如部门编码为 2,2,2,2,2

127. @FieldDefine(title = \编码级次\, remark = \如果设置了编码级次,则主键的长度

必须是此级次中的,并且必须有父级编码存在\, number = 150) 128. @Column(length = 50)

129. String tf_codeLevel; 130.

131. @FieldDefine(title = \联动模块\, remark = \在本模块的数据增删改后,打开的联

动模块都要刷新数据。\, number = 155) 132. @Column(length = 200) 133. private String tf_linkedModule; 134.

135. @FieldDefine(title = \可用\, number = 160) 136. @Column(nullable = false)

137. private Boolean tf_isEnable = false; 138.

139. @FieldDefine(title = \可浏览\, number = 170) 140. @Column(nullable = false)

141. private Boolean tf_hasBrowse = false; 142.

143. @FieldDefine(title = \可增加\, number = 180) 144. @Column(nullable = false)

145. private Boolean tf_hasInsert = false; 146.

147. @FieldDefine(title = \可修改\, number = 190) 148. @Column(nullable = false) 149. private Boolean tf_hasEdit = false;

150.

151. @FieldDefine(title = \可删除\, number = 200) 152. @Column(nullable = false)

153. private Boolean tf_hasDelete = false; 154.

155. @FieldDefine(title = \可执行\, number = 210) 156. @Column(nullable = false) 157. private Boolean tf_hasExec = false; 158.

159. @FieldDefine(title = \可审核\, number = 220) 160. @Column(nullable = false)

161. private Boolean tf_hasAuditing = false; 162.

163. @FieldDefine(title = \可审批\, number = 230) 164. @Column(nullable = false)

165. private Boolean tf_hasApprove = false; 166.

167. @FieldDefine(title = \可支付\, number = 240) 168. @Column(nullable = false)

169. private Boolean tf_hasPayment = false; 170.

171. @FieldDefine(title = \有附件\, number = 250)

172. @Column(nullable = false)

173. private Boolean tf_hasAddition = false; // 是否需要附件 174.

175. @FieldDefine(title = \可权限设置\, remark = \用户可对此模块设置权限,选定的

才可以浏览与操作\, number = 260) 176. @Column(nullable = false)

177. private Boolean tf_canLimit = false; // 此模块是否能进行权限设置 178.

179. @FieldDefine(title = \导入\, remark = \是否可以通过Excel导入新增记录

\, number = 270)

180. @Column(nullable = false)

181. private Boolean tf_allowInsertExcel = false; 182.

183. @FieldDefine(title = \修改\, remark = \是否可以导出的Excel修改后再导入

\, number = 280)

184. @Column(nullable = false)

185. private Boolean tf_allowEditExcel = false; 186.

187. @FieldDefine(title = \可图表\, number = 290) 188. @Column(nullable = false)

189. private Boolean tf_hasChart = false; 190.

191. @FieldDefine(title = \系统模块\, number = 300, remark = \如果是系统模块,用

户没有浏览权限,就不把模块定义发送到前端\) 192. @Column(nullable = false)

193. private Boolean tf_isSystem = false; 194.

195. @FieldDefine(title = \查询条件顺序号\, number = 310, remark = \此模块放在

综合查询的条件选择栏中的顺序\)

196. private Integer tf_searchCondOrder; 197.

198. @FieldDefine(title = \备注\, number = 800) 199. private String tf_remark; 200.

201. public _Module() { 202. 203. }

204. // setter and getter 205. }

_MenuGroup.java

[java] view plain copy

1. 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. import javax.persistence.Id; 8. import javax.persistence.Transient;

9. import com.jfok.server.common.annotation.FieldDefine; 10. import com.jfok.server.common.annotation.TableDefine; 11. 12. /** 13. * 菜单分组 14. *

15. * @author jfok 16. * 17. */

18. @SuppressWarnings(\) 19. @Entity

20. @org.hibernate.annotations.Entity(dynamicUpdate = true) 21. @TableDefine(group = \系统模块\, id = 9920, title = \菜单分组\)

22. public class _MenuGroup implements _IModuleControlInterface, Serializable { 23.

24. @Id

25. @FieldDefine(title = \顺序号\, remark = \菜单分组按顺序号显示在菜单条上

\, number = 10)

26. @Column(length = 10, nullable = false) 27. private String tf_menuGroupId; 28.

29. @FieldDefine(title = \分组名称\, nameField = true, number = 20) 30. @Column(length = 50, nullable = false) 31. private String tf_title; 32.

33. @FieldDefine(title = \展开\, remark = \在树状菜单下默认是否展开

\, number = 30)

34. private Boolean tf_expand; 35.

36. @FieldDefine(title = \图标glyph\, number = 40) 37. private Boolean tf_glyph; 38.

39. @FieldDefine(title = \图标文件名\, remark = \图标放置于/images/module/目录下

\, number = 50)

40. @Column(length = 50) 41. private String tf_iconURL; 42.

43. @FieldDefine(title = \分组描述\, number = 60) 44. @Column(length = 50) 45. private String tf_description; 46.

47. @FieldDefine(title = \备注\, number = 70) 48. private String tf_remark; 49.

50. @Transient

51. private List<_MenuModule> tf_menuModules; 52.

53. public _MenuGroup() { 54. } 55.

56. //setter and getter 57. }

_MenuModule.java

[java] view plain copy

1. package com.jfok.server.hibernate.system;

2.

3. import java.io.Serializable;

本文来源:https://www.bwwdw.com/article/zpfh.html

Top