jeesite项目理解.docxVIP

  • 48
  • 0
  • 约2.3千字
  • 约 9页
  • 2017-05-26 发布于湖北
  • 举报
jeesite项目理解要点

首先进入页面,看到了 目的是希望在建立一个菜单将我们自己的功能配置进取,所以需要熟悉整个项目的基础结构 接下来分析根据登陆进入的地址找到系统首页 我们找到首页 找到页面我们进行分析,分析的核心,找到特征代码,需要细心,将浏览器中呈现的代码同源代码进行对比。如果仅仅是寻找不需要详细的研究每一段代码。 当我们找到后找到对应的头部菜单连接地址?因为我们点击头部菜单,左侧栏会跟着变化。找到对应的url地址 根据导航的地址找到对应的controller所对应的类 然而我们发现这个conroller竟然没有任何业务,需要我们跳转到对应的页面 找到对应的页面进行持续的分析 认真地分析页面发现 div class=accordion id=menu-${param.parentId}c:set var=menuList value=${fns:getMenuList()}/c:set var=firstMenu value=true/c:forEach items=${menuList} var=menu varStatus=idxStatusc:if test=${menu.parent.id eq (not empty param.parentId ? param.parentId:1)menu.isShow eq 1} 我们刚才访问的url 是  HYPERLINK http://localhost:8080/jeesite/a/sys/menu/tree?parentId=27 http://localhost:8080/jeesite/a/sys/menu/tree?parentId=27 在这段代码中我们发现了整个div的样式控制时一个巧妙的组合,根据传入的id作为功能的父亲id ,同时根据${fns:getMenuList()} 根据自定义标签库从后台直接获取用户的所有菜单,然后看他的父节点id同传入参数是否一致,如果一致就进行循环遍历,核心是寻找fns:getMenuList() 需要找到对应的自定义标签,以及对应的类和方法。 首先找到 然后继续找到 最终找到对应的fnstld文件 在tld文件中找到 需要继续分析代码看他的业务流程 ListMenu menuList = (ListMenu)getCache(CACHE_MENU_LIST); if (menuList == null){ User user = getUser(); if (user.isAdmin()){ menuList = menuDao.findAllList(new Menu()); }else{ Menu m = new Menu(); m.setUserId(user.getId()); menuList = menuDao.findByUserId(m); } putCache(CACHE_MENU_LIST, menuList); } return menuList; 在这里里面代码的含义首先如果你已经读取了一次,那么直接从缓存中取。如果没有则得到当前的用户进行判断,看是否是管理人员,如果是则执行menuList = menuDao.findAllList(new Menu()); , 如果不是则执行menuDao.findByUserId(m);因为我们当前用户的角色是管理人员则,需要执行 menuList = menuDao.findAllList(new Menu()); 需要继续分析关于在jeesite中的dao层 menuList = menuDao.findAllList(new Menu()); private static MenuDao menuDao = SpringContextHolder.getBean(MenuDao.class); 当我们执行取出数据的时候,我们发现需要从spring容器中取出 同时需要了解知道beanFactory factoryBean 以及applicationContext和webApplicationContext的区别??? 由于我们使用了spring来管理项目,那当程序启动的时候会默认的情况下通过注解或者配置文件来将类实例化对象,然后将对象和对象之间的关系放入整个容器中。 需要继续寻找menuDao 我们发现了我们的menuDao,但是它的接口进行了注解,也就是说在通常情况下spring和mybatis集成 ,一般在dao层没有实现类,而是根据接口和mapper.xml文件生成接口对象的代理实现类。 我们发现没有这个方法,根据java的继承原理,如果自己没有方法,一般情况下会

文档评论(0)

1亿VIP精品文档

相关文档