JQuery easyui

ui框架(可以去官网下载jQuery easyUI的API和程序库)
easyui=jquery+html4(用来做后台的管理界面)
bootstrap=jquery+html5
案例:
    1、通过layout布局
    2、通过tree加载菜单
    3、通过菜单去打开不同的tab页
    var content = '<iframe scrolling="no" frameborder="0" src="'+menuUrl+'" width="99%" height="99%"></iframe>';

easyui控件的二种创建方式
  1.1 直接通过html标签创建(定义easyui属性)
  1.2 JS创建

 1.3 easyui控件的方法调用
   $(exp).panel('open')

1. 布局
  1.1 layout

在下载的程序库里 jquery-easyui-1.5.1\demo\layout\full.html 找到full.html模板复制body的内容(包含body),导入EasyUI的CSS和Javascript文件到您的页面。

 
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"

  2. pageEncoding="UTF-8"%>

  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

  4. <html>

  5. <head>

  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  7.  
  8. <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/jquery-easyui-1.5.1/themes/default/easyui.css">

  9. <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/jquery-easyui-1.5.1/themes/icon.css">

  10. <script type="text/javascript" src="${pageContext.request.contextPath }/jquery-easyui-1.5.1/jquery.min.js"></script>

  11. <script type="text/javascript" src="${pageContext.request.contextPath }/jquery-easyui-1.5.1/jquery.easyui.min.js"></script>

  12. <script type="text/javascript" src="${pageContext.request.contextPath }/js/index.js"></script>

  13.  
  14. <title>主页</title>

  15. </head>

  16. <body class="easyui-layout">

  17. <input type="hidden" id="ctx" value="${pageContext.request.contextPath }">

  18. <div data-options="region:'north',border:false" style="height:60px;background:#B3DFDA;padding:10px">north region</div>

  19.  

  20. <div data-options="region:'west',split:true,title:'West'" style="width:150px;padding:10px;">

  21.  

  22. <ul id="menuTerr"></ul>

  23. </div>

  24.  

  25. <div data-options="region:'east',split:true,collapsed:true,title:'East'" style="width:100px;padding:10px;">east region</div>

  26. <div data-options="region:'south',border:false" style="height:50px;background:#A9FACD;padding:10px;">south region</div>

  27. <div data-options="region:'center',title:'Center'">

  28. <div id="tabs" class="easyui-tabs" style="width:100%;height:100%;">

  29. <div title="Tab1" style="padding:20px;display:none;">首页</div>

  30. </div>

  31. </div>

  32. </body>

  33. </html>

 

2. tree、tabs
   创建一个实体类(实现get、set方法和toString方法)

 
  1. private String id;

  2. private String text;

  3. //描述父子节点,用于递归子节点

  4. private List<TreeNode> children=new ArrayList<>();

  5. //树形菜单节点,除了id和展示文本,可能还伴有页面跳转和图片展示等等,都放到属性的map集合中

  6. private Map<String , Object> attributes=new HashMap<>();

dao层

 
  1. public class MenuDao extends JsonBeanDao {

  2.  
  3. /**

  4. * 查询需要展示树形菜单的数据

  5. * 注意:该数据转json对象,是不符合easyui的tree组件展示的json格式

  6. * @param paramMap

  7. * @param pageBean

  8. * @return

  9. * @throws InstantiationException

  10. * @throws IllegalAccessException

  11. * @throws SQLException

  12. */

  13. public List<Map<String, Object>> menuList(Map<String, String[]> paramMap, PageBean pageBean)

  14. throws InstantiationException, IllegalAccessException, SQLException {

  15. String Menuid = JsonUtils.getParanVal(paramMap, "Menuid");

  16. String sql = "select * from t_easyui_menu where true";

  17. //如果Menuid不为空就通过menuid去查,如果为空的话我们就给他通过默认值

  18. if (StringUtils.isNotBlank(Menuid)) {

  19. sql += " and parentid=" + Menuid;

  20. } else {

  21. sql += " and parentid='-1' ";

  22. }

  23. return super.executeQuery(sql, pageBean);

  24. }

  25.  
  26.  
  27. /**

  28. * 直接查出来的数据不能展示,转换成可展示的数据

  29. * @param map

  30. * @param treeNode

  31. * @throws SQLException

  32. * @throws IllegalAccessException

  33. * @throws InstantiationException

  34. */

  35. private void mapTotreeNode(Map<String, Object> map, TreeNode treeNode) throws InstantiationException, IllegalAccessException, SQLException {

  36. treeNode.setId(map.get("Menuid").toString());

  37. treeNode.setText(map.get("Menuname").toString());

  38. treeNode.setAttributes(map);

  39. Map<String, String[]> paramMap = new HashMap<>();

  40. // 把当前节点的id当作父id去查子节点

  41. paramMap.put("Menuid", new String[] {treeNode.getId()});

  42. List<Map<String, Object>> menuList = this.menuList(paramMap, null);

  43. List<TreeNode> treeNodeList = new ArrayList<>();

  44. mapTotreeNodeList(menuList, treeNodeList);

  45. treeNode.setChildren(treeNodeList);

  46. }

  47.  
  48. private void mapTotreeNodeList(List<Map<String, Object>> list, List<TreeNode> treeNodeList) throws InstantiationException, IllegalAccessException, SQLException {

  49. TreeNode treeNode=null;

  50. for (Map<String, Object> map : list) {

  51. treeNode = new TreeNode();

  52. mapTotreeNode(map, treeNode);

  53. treeNodeList.add(treeNode);

  54. }

  55. }

  56.  
  57.  
  58. /**

  59. * 这个方法的返回值才是符合easyui的tree组件所需要的json格式

  60. * @param paramMap

  61. * @param pageBean

  62. * @return

  63. * @throws InstantiationException

  64. * @throws IllegalAccessException

  65. * @throws SQLException

  66. */

  67. public List<TreeNode> menutreeList(Map<String, String[]> paramMap, PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{

  68. List<Map<String, Object>> menuList = this.menuList(paramMap, null);

  69. List<TreeNode> treeNodeList = new ArrayList<>();

  70. mapTotreeNodeList(menuList, treeNodeList);

  71. return treeNodeList;

  72. }

  73.  
  74.  
  75. }

实现tree和tabs

 
  1. $(function() {

  2. var ctx=$("#ctx").val();

  3.  

  4. $('#menuTerr').tree({

  5. url:ctx+'/menuAction.action?methodName=menuTreeList',

  6. onClick: function(node){

  7.  

  8. if($('#tabs').tabs('exists',node.text)){

  9. $('#tabs').tabs('select',node.text)

  10. }else{

  11.  

  12. $('#tabs').tabs('add',{

  13. title:node.text,

  14.  

  15. content:'<iframe scrolling="no" frameborder="0" src="'+node.attributes.menuURL+'" width="99%" height="99%"></iframe>',

  16. closable:true,

  17. });

  18. }

  19. }

  20. });

  21. })

                                                                                                                   -来自龍晰小菜鸡

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值