web后台ztree树插件和dataTable表格插件

最近做一个小项目,需要自己写前端页面,找了点前端插件,用着感觉不错,记录下来备忘。

1.ztree

左侧的树图选择的ztree,上官网下载css和js文件http://www.treejs.cn/v3/main.php#_zTreeInfo,放在webapp下

显示页面如下:

<%--
  Created by IntelliJ IDEA.
  User: user
  Date: 2018/1/28
  Time: 14:41
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
 String path = request.getContextPath();
 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
    <title>Title</title>
 <link rel="stylesheet" href="<%=request.getContextPath()%>/css/zTreeStyle/zTreeStyle.css" type="text/css">
 <style>
  body {
   background-color: white;
   margin:0; padding:0;
   text-align: center;
  }
  div, p, table, th, td {
   list-style:none;
   margin:0; padding:0;
   color:#333; font-size:12px;
   font-family:dotum, Verdana, Arial, Helvetica, AppleGothic, sans-serif;
  }
  #testIframe {margin-left: 10px;}
 </style>

 <script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-1.4.4.min.js"></script>
 <script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery.ztree.core.js"></script>
 <SCRIPT type="text/javascript" >

     var zTree;
     var demoIframe;

     var setting = {
         view: {
             dblClickExpand: false,
             showLine: true,
             selectedMulti: false
         },
         data: {
             simpleData: {
                 enable:true,
                 idKey: "id",
                 pIdKey: "pId",
                 rootPId: ""
             }
         },
         callback: {
             beforeClick: function(treeId, treeNode) {
                 var zTree = $.fn.zTree.getZTreeObj("tree");
                 if (treeNode.isParent) {
                     zTree.expandNode(treeNode);
                     return false;
                 } else {
                     demoIframe.attr("src",treeNode.file + ".jsp");
                     return true;
                 }
             }
         }
     };

     var zNodes =[
         {id:1, pId:0, name:"用户管理", open:true},
         {id:101, pId:1, name:"用户", file:"user/user"},
         {id:102, pId:1, name:"最简单的树 --  简单 JSON 数据", file:"roles/roles"},
         /*{id:103, pId:1, name:"不显示 连接线", file:"core/noline"},
         {id:104, pId:1, name:"不显示 节点 图标", file:"core/noicon"},
         {id:105, pId:1, name:"自定义图标 --  icon 属性", file:"core/custom_icon"},
         {id:106, pId:1, name:"自定义图标 --  iconSkin 属性", file:"core/custom_iconSkin"},
         {id:107, pId:1, name:"自定义字体", file:"core/custom_font"},
         {id:115, pId:1, name:"超链接演示", file:"core/url"},
         {id:108, pId:1, name:"异步加载 节点数据", file:"core/async"},
         {id:109, pId:1, name:"用 zTree 方法 异步加载 节点数据", file:"core/async_fun"},
         {id:110, pId:1, name:"用 zTree 方法 更新 节点数据", file:"core/update_fun"},
         {id:111, pId:1, name:"单击 节点 控制", file:"core/click"},
         {id:112, pId:1, name:"展开 / 折叠 父节点 控制", file:"core/expand"},
         {id:113, pId:1, name:"根据 参数 查找 节点", file:"core/searchNodes"},
         {id:114, pId:1, name:"其他 鼠标 事件监听", file:"core/otherMouse"},*/

         {id:2, pId:0, name:"角色管理", open:false},
         /*{id:201, pId:2, name:"Checkbox 勾选操作", file:"excheck/checkbox"},
         {id:206, pId:2, name:"Checkbox nocheck 演示", file:"excheck/checkbox_nocheck"},
         {id:207, pId:2, name:"Checkbox chkDisabled 演示", file:"excheck/checkbox_chkDisabled"},
         {id:208, pId:2, name:"Checkbox halfCheck 演示", file:"excheck/checkbox_halfCheck"},
         {id:202, pId:2, name:"Checkbox 勾选统计", file:"excheck/checkbox_count"},
         {id:203, pId:2, name:"用 zTree 方法 勾选 Checkbox", file:"excheck/checkbox_fun"},
         {id:204, pId:2, name:"Radio 勾选操作", file:"excheck/radio"},
         {id:209, pId:2, name:"Radio nocheck 演示", file:"excheck/radio_nocheck"},
         {id:210, pId:2, name:"Radio chkDisabled 演示", file:"excheck/radio_chkDisabled"},
         {id:211, pId:2, name:"Radio halfCheck 演示", file:"excheck/radio_halfCheck"},
         {id:205, pId:2, name:"用 zTree 方法 勾选 Radio", file:"excheck/radio_fun"},*/

         {id:3, pId:0, name:"资源管理", open:false},
         /*{id:301, pId:3, name:"拖拽 节点 基本控制", file:"exedit/drag"},
         {id:302, pId:3, name:"拖拽 节点 高级控制", file:"exedit/drag_super"},
         {id:303, pId:3, name:"用 zTree 方法 移动 / 复制 节点", file:"exedit/drag_fun"},
         {id:304, pId:3, name:"基本 增 / 删 / 改 节点", file:"exedit/edit"},
         {id:305, pId:3, name:"高级 增 / 删 / 改 节点", file:"exedit/edit_super"},
         {id:306, pId:3, name:"用 zTree 方法 增 / 删 / 改 节点", file:"exedit/edit_fun"},
         {id:307, pId:3, name:"异步加载 & 编辑功能 共存", file:"exedit/async_edit"},
         {id:308, pId:3, name:"多棵树之间 的 数据交互", file:"exedit/multiTree"},*/

         {id:4, pId:0, name:"大数据量 演示", open:false},
         /*{id:401, pId:4, name:"一次性加载大数据量", file:"bigdata/common"},
         {id:402, pId:4, name:"分批异步加载大数据量", file:"bigdata/diy_async"},
         {id:403, pId:4, name:"分批异步加载大数据量", file:"bigdata/page"},*/

         {id:5, pId:0, name:"组合功能 演示", open:false},
         /*{id:501, pId:5, name:"冻结根节点", file:"super/oneroot"},
         {id:502, pId:5, name:"单击展开/折叠节点", file:"super/oneclick"},
         {id:503, pId:5, name:"保持展开单一路径", file:"super/singlepath"},
         {id:504, pId:5, name:"添加 自定义控件", file:"super/diydom"},
         {id:505, pId:5, name:"checkbox / radio 共存", file:"super/checkbox_radio"},
         {id:506, pId:5, name:"左侧菜单", file:"super/left_menu"},
         {id:513, pId:5, name:"OutLook 风格", file:"super/left_menuForOutLook"},
         {id:515, pId:5, name:"Awesome 风格", file:"super/awesome"},
         {id:514, pId:5, name:"Metro 风格", file:"super/metro"},
         {id:507, pId:5, name:"下拉菜单", file:"super/select_menu"},
         {id:509, pId:5, name:"带 checkbox 的多选下拉菜单", file:"super/select_menu_checkbox"},
         {id:510, pId:5, name:"带 radio 的单选下拉菜单", file:"super/select_menu_radio"},
         {id:508, pId:5, name:"右键菜单 的 实现", file:"super/rightClickMenu"},
         {id:511, pId:5, name:"与其他 DOM 拖拽互动", file:"super/dragWithOther"},
         {id:512, pId:5, name:"异步加载模式下全部展开", file:"super/asyncForAll"},*/

         {id:6, pId:0, name:"其他扩展功能", open:false},
         /*{id:601, pId:6, name:"隐藏普通节点", file:"exhide/common"},
         {id:602, pId:6, name:"配合 checkbox 的隐藏", file:"exhide/checkbox"},*/
         {id:603, pId:6, name:"配合 radio 的隐藏", file:"user/hh"}
     ];

     $(document).ready(function(){
         var t = $("#tree");
         t = $.fn.zTree.init(t, setting, zNodes);
         demoIframe = $("#testIframe");
         demoIframe.bind("load", loadReady);
         var zTree = $.fn.zTree.getZTreeObj("tree");
         zTree.selectNode(zTree.getNodeByParam("id", 101));

     });

     function loadReady() {
         var bodyH = demoIframe.contents().find("body").get(0).scrollHeight,
             htmlH = demoIframe.contents().find("jsp").get(0).scrollHeight,
             maxH = Math.max(bodyH, htmlH), minH = Math.min(bodyH, htmlH),
             h = demoIframe.height() >= maxH ? minH:maxH ;
         if (h < 530) h = 530;
         demoIframe.height(h);
     }


 </SCRIPT>
</head>
<body>
 <%--list jsp 页面
 <br>
 <br>
<a href="page/success.jsp">成功</a>
 <br><br>
 <a href="page/admin.jsp">admin</a>
 <br>
 <br>
 <a href="page/user.jsp">user</a>
 <br>
 <br>
<form action="logout" method="post">
 <input type="submit" value="logout">
</form>--%>
 <!--控制table的宽高-->
 <TABLE border=0 align=left style="width: 100%;height: 100%;">
 <TR>
  <TD width=260px align=left valign=top style="BORDER-RIGHT: #999999 1px dashed">
   <ul id="tree" class="ztree" style="width:260px; overflow:auto;"></ul>
  </TD>
  <TD width=1070px align=left valign=top><IFRAME ID="testIframe" Name="testIframe" FRAMEBORDER=0 SCROLLING=AUTO width=100%  height=600px SRC="user/hh.jsp"></IFRAME></TD>
 </TR>
 </TABLE>


</body>
</html>
demo里面是html文件,我做了修改,html后缀全部修改成jsp,修改了table的css样式,因为直接拿过来table只有60%宽度。



2.表格插件dataTable:

这里用到了两个js文件和一个css文件。

<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/css/jquery.dataTables.css" />
<script type="text/javascript" charset="UTF-8" src="<%=request.getContextPath()%>/js/jquery.js"></script>
<script type="text/javascript" charset="UTF-8" src="<%=request.getContextPath()%>/js/jquery.dataTables.js"></script>
js代码添加的是修改中文,原本代码是英文。
<script>
    $(document).ready( function () {
        $('#table_id_example').DataTable(
            {
                language: {
                    "sProcessing": "处理中...",
                    "sLengthMenu": "显示 _MENU_ 项结果",
                    "sZeroRecords": "没有匹配结果",
                    "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
                    "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
                    "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
                    "sInfoPostFix": "",
                    "sSearch": "搜索:",
                    "sUrl": "",
                    "sEmptyTable": "表中数据为空",
                    "sLoadingRecords": "载入中...",
                    "sInfoThousands": ",",
                    "oPaginate": {
                        "sFirst": "首页",
                        "sPrevious": "上页",
                        "sNext": "下页",
                        "sLast": "末页"
                    },
                    "oAria": {
                        "sSortAscending": ": 以升序排列此列",
                        "sSortDescending": ": 以降序排列此列"
                    }
                }
            });
    } );
</script>
body中添加代码,这里加点死数据。

<body>
<!--第二步:添加如下 HTML 代码-->
<table id="table_id_example" class="display">
    <thead>
    <tr>
        <th>Column 1</th>
        <th>Column 2</th>
        <th>Column 3</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>Row 1 Data 1</td>
        <td>Row 1 Data 2</td>
        <td>Row 1 Data 3</td>
    </tr>
    <tr>
        <td>Row 2 Data 1</td>
        <td>Row 2 Data 2</td>
        <td>Row 2 Data 3</td>
    </tr>

    </tbody>
</table>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值