- 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的继承原理,如果自己没有方法,一般情况下会
您可能关注的文档
- ISOTS16949基础知识培训.ppt
- IT管理体系文件编写培训.pptx
- 2008年江苏省专转本真题讲解.doc
- IT服务管理系统帮助手册.doc
- 课堂新坐标通用版2017届高考生物二轮复习第2部分专项体能突破专项3回扣3细胞代谢课件.ppt
- i摄机构摄影作品点评第1期:画面缺少主体.ppt
- 2008年至2016年海安县中等学校招生录取分数线.doc
- 2008第一季度呼和浩特市大召九久街营销策略案-51PPT.ppt
- IZ205000建设工程职业健康安全与环境管理.ppt
- J-001自控仪表施工方案(参照).doc
- XX县税务局领导班子2025年度民主生活会对照检查材料.docx
- XX县检察院党组班子2025年度民主生活会对照检查材料.docx
- 集团党组书记在2025年度民主生活会准备会上的讲话.docx
- 在银行新员工入职座谈会上的讲话.docx
- XX县委宣传部部长2025年度民主生活会对照检查材料.docx
- XX县财政局局长2025年度民主生活会对照检查材料.docx
- XX企业领导班子2025年度述职报告.docx
- 在XX市委常委会听取下级党委(党组)“一把手”述责述廉情况汇报会上的讲话.docx
- XX县政协党组班子2025年度民主生活会对照检查材料.docx
- 在2026年第一季度安全生产重点工作推进会上的讲话.docx
原创力文档

文档评论(0)