JAVA软件设计思想之我见之架构设计(2)
2017-09-14 12:15
337 查看
这一篇打算写树。树可用作菜单,也可以用做其他方面,如组织架构等,由于EasyUI已给出了树的JSON格式,我不打算对其进行讲解
我的架构,暂且命名Cerise吧,因为我和我爱人,小孩都很喜欢吃车里子。 废话不多说,来组织树的结构。
1、 树的结构
/** 节点的 id **/
private String id;
/** 显示的节点文字 **/
private String text;
/** 链接 */
private String url;
/** 节点图标 **/
private String iconCls;
/** 节点状态 **/
private String state;
/** 指示节点是否被选中 **/
private boolean checked;
/** 自定义属性 **/
private String attributes;
/** 是否有树叶 */
private boolean isleaf;
/**树级别**/
private String level;
/** 叶子数据组 **/
private List<BaseTree> children = new ArrayList<BaseTree>(); 2、树的构造
3、定义树
4、 填充数据, 数据可以任意组合
5、页面效果
我的架构,暂且命名Cerise吧,因为我和我爱人,小孩都很喜欢吃车里子。 废话不多说,来组织树的结构。
1、 树的结构
/** 节点的 id **/
private String id;
/** 显示的节点文字 **/
private String text;
/** 链接 */
private String url;
/** 节点图标 **/
private String iconCls;
/** 节点状态 **/
private String state;
/** 指示节点是否被选中 **/
private boolean checked;
/** 自定义属性 **/
private String attributes;
/** 是否有树叶 */
private boolean isleaf;
/**树级别**/
private String level;
/** 叶子数据组 **/
private List<BaseTree> children = new ArrayList<BaseTree>(); 2、树的构造
/** * 简单构造函数,一般用于菜单,菜单树 * @param id * @param text * @param url * @param level * @param children */ public BaseTree(String id,String text,String url,String level,List<BaseTree> children){ super(); this.id=id; this.text=text; this.url=url; this.iconCls =null; this.checked=false; this.attributes=null; this.level =level; this.children =children; if (children.size()==0){ this.setState("open"); this.setLeaf(true); } else{ this.setState("open"); this.setLeaf(false); } }
3、定义树
private List<BaseTree> userMenu; // 菜单树,用户菜单
4、 填充数据, 数据可以任意组合
public List<BaseTree> queryRootSysMenuByUserId(String userId) { List<SysMenu> menus = dao.queryUserMenuByUserId(dbp, userId); List<BaseTree> menuTree = new ArrayList<BaseTree>(); List<BaseTree> children = new ArrayList<BaseTree>(); for (SysMenu menu : menus) { BaseTree sysTree = new BaseTree(); sysTree.setId(menu.getMenuId()); sysTree.setText(menu.getMenuName()); sysTree.setUrl(menu.getMenuUrl()); sysTree.setIconCls(null); sysTree.setChecked(false); sysTree.setAttributes("null"); sysTree.setLeaf(false); children = this.querySubUserMenuByUserId(userId, menu.getMenuId()); if (children.size() == 0) { sysTree.setState("open"); } else { sysTree.setState("closed"); } sysTree.setChildren(children); menuTree.add(sysTree); } return menuTree; }
5、页面效果
相关文章推荐
- JAVA软件设计思想之我见之架构设计(1)
- JAVA软件设计思想之我见之架构设计(3)
- {架构思想}从面向对象的设计模式看软件设计
- java设计模式--基础思想总结--抽象类与架构设计思想
- 深夜闲聊Java与PHP 以及架构设计思想与最佳实践
- Atitit 文件上传 架构设计 实现机制 解决方案 实践java php c#.net js javascript c++ python
- Java应用架构设计:模块化模式与OSGi
- Java高并发高性能分布式框架从无到有微服务架构设计
- App 后端架构设计方案 设计思想与最佳实践
- Java软件架构设计简介
- JAVA23种设计模式(另类思想)
- Hadoop系列-HDFS设计思想与架构(四)
- Gstreamer学习笔记----Gstreamer架构设计思想
- React架构、设计思想
- Java-单机版的书店管理系统(练习设计模块和思想_系列 四(1) )
- 2.1、Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职
- Java企业级应用架构设计中的分布式结构
- 各语言设计思想的独特之处:C/C++、Java、Python、Objective C、Groovy
- Java之------单机版书店管理系统(设计思想和设计模式系列八)登录模块
- Java之------单机版书店管理系统(设计思想和设计模式系列三)工具包和公共包