使用easyui实现菜单树

使用easyui实现菜单树,最后完成的结果为这样:

首先需要引用对应的js和css的包,找到对应的位置.

<link rel="stylesheet" type="text/css" href="../resource/jquery-easyui-1.4.4/themes/gray/easyui1.css">
<link rel="stylesheet" type="text/css" href="../resource/jquery-easyui-1.4.4/themes/icon.css">
<!-- <script type="text/javascript" src="../resource/jquery-easyui-1.4.4/jquery.easyui.min.js"></script> -->
<script type="text/javascript" src="../resource/jquery-easyui-1.4.4/jquery.min.js"></script>
<script type="text/javascript" src="../resource/jquery-easyui-1.4.4/locale/easyui-lang-zh_CN.js"></script>

然后在对应的需要树的位置添加代码:

<div>
                    <ul id="foldertree" class="easyui-tree">
                    </ul>
                </div>

注意一定class是easyui-tree哦.

然后就是写加载对应的树的js了,找的合适的位置写js

<script type="text/javascript">
    $(function () {
        $("#foldertree").tree({
            url: '../showFolderTree.action',
            dnd: true,
            lines: false,
            onBeforeDrag: function (target) {
                if (!target.attributes || target.attributes.tp == 'root') {
                    return false;
                }
                return true;
            },
            onDragEnter: function (target, source) {
                return false;
            }
        });
    });
</script>

然后找到对应的action去写树,树文件夹接受的是json格式的数据类型:

[{"id":"00b38cce1ba24a448cba62ae3dffa894","name":"2019090310301","open":true,"pId":"014fe3590ed24ca2bddda0752556ac80"},
{"id":"013316a7c20b4dd2a625f6845fff6d51","name":"123","open":true,"pId":"99df9510a3224d919b7cbe0230223182"},
{"id":"014fe3590ed24ca2bddda0752556ac80","name":"75831982","open":true,"pId":"00b38cce1ba24a448cba62ae3dffa894"},{"id":"0bc52451258a488985cb45ee25a37acd","name":"3-2文件夹02","open":true,"pId":"e6121d17c8ef4011a8c46555b8832dbb"},
{"id":"0c94c7cd26054c8ab6240dfcc3e59679","name":"测试树形文件夹112","open":true,"pId":"27025c464d014901926b4cd8aaa429e5"},
{"id":"0ec6391f3b994b92bd3a510b5c9cbcf3","name":"111 ","open":true,"pId":"c408e4ad7f234b1285888f4258752de8"},
{"id":"166922996a7d46e5b35228f65e66e129","name":"123456","open":true,"pId":"00b38cce1ba24a448cba62ae3dffa894"},{"id":"1a7278bae0704de2a516265734ac5111","name":"递归删除文件夹01","open":true,"pId":"ca270b6f6e05493fbe6a86abf897425d"},
{"id":"1d318ea6b12148afaf30ee6c09e50dcb","name":"2级目录01","open":true,"pId":"220e95ad87354a29a2ee2b724b911457"},
{"id":"1d86b330500843b3bacae2d6c8c2dfaa","name":"测试树形文件夹12","open":true,"pId":"beb16c6f38c9453d910c7250e5e5fc2b"},
{"id":"20eb8c2504f046a7b699441e9fc2ba05","name":"再创建一个文件夹","open":true,"pId":"00b38cce1ba24a448cba62ae3dffa894"},
{"id":"220e95ad87354a29a2ee2b724b911457","name":"一级目录01","open":true,"pId":"2a8de6acfbb64ea899ff3f5b00e53a8e"},
{"id":"26cbed8da90147d1aa208e1d23e8324a","name":"3-2文件夹01","open":true,"pId":"e6121d17c8ef4011a8c46555b8832dbb"},
{"id":"27025c464d014901926b4cd8aaa429e5","name":"测试树形文件夹11","open":true,"pId":"beb16c6f38c9453d910c7250e5e5fc2b"},
{"id":"2a370cb65d2041c5a150dc2d01f1d1bd","name":"状态002","open":true,"pId":"0"},
{"id":"2a8de6acfbb64ea899ff3f5b00e53a8e","name":"文件夹列表01","open":true,"pId":"0"},
{"id":"34a7cfe4036a4a2ab69302670cb81fb8","name":"xr创建的文件夹","open":true,"pId":"0"},{"id":"34f5805715a44516bc57e6e32d841bd7","name":"文件1","open":true,"pId":"0,0"},
{"id":"39823389120946498adae217163a7c3b","name":"1","open":true,"pId":"39c32e65d1e4442892fa6ad30f3597f3"},
{"id":"39c32e65d1e4442892fa6ad30f3597f3","name":"1","open":true,"pId":"0"},
{"id":"3c439d119e944c19b8d4af58cd819d63","name":"1111111111111111111111111","open":true,"pId":"0"},
{"id":"43c6889c9e3346b488c0b123159268e6","name":"一级目录02","open":true,"pId":"2a8de6acfbb64ea899ff3f5b00e53a8e"},
{"id":"48789d18501b4d91800ba9373b18070b","name":"2级目录02","open":true,"pId":"220e95ad87354a29a2ee2b724b911457"},
{"id":"48edb62847a04f9da6eaa08c76533a38","name":"状态003","open":true,"pId":"0"},
{"id":"4e6f9c282f894f4eb151ba4316930e1b","name":"测试树形文件夹114","open":true,"pId":"27025c464d014901926b4cd8aaa429e5"},
{"id":"6039efce2d074ecba87f35f76ab007e8","name":"测试树形文件夹113","open":true,"pId":"27025c464d014901926b4cd8aaa429e5"},
{"id":"6801b2b908164974a4a9c62f59fa3a63","name":"测试树形文件夹1111","open":true,"pId":"e54c7f1f05d6435699ce9a5f65a4a126"},
{"id":"7013aad690b846ec8dfcf4e6394fdbd5","name":"3级目录02","open":true,"pId":"1d318ea6b12148afaf30ee6c09e50dcb"},
{"id":"75005b973bfc4032be3a94f88561e86a","name":"test023","open":true,"pId":"8a0ab1de680f4461a46d5e58fb0ad869"},
{"id":"759f8c8e31674a28bdfe685b744ac930","name":"3级目录01","open":true,"pId":"1d318ea6b12148afaf30ee6c09e50dcb"},
{"id":"77eb846dd21746e7a4bac5c551ee262a","name":"1231","open":true,"pId":"0"},
{"id":"786890e78fdd4030a082143976f81af0","name":"00011 ","open":true,"pId":"c99a2d5ca1184f86984a7ff18e154130"},
{"id":"8775b3aa6f1640ac8e4424bc7309c504","name":"test023123","open":true,"pId":"8775b3aa6f1640ac8e4424bc7309c504"},
{"id":"8a0ab1de680f4461a46d5e58fb0ad869","name":"test024","open":true,"pId":"0"},
{"id":"8f64b1090e8e4a09a156660e84e9b060","name":"递归删除文件夹02","open":true,"pId":"1a7278bae0704de2a516265734ac5111"},
{"id":"8fd022d19f30455d92b39c4f9fb48bd6","name":"测试树形文件夹122","open":true,"pId":"1d86b330500843b3bacae2d6c8c2dfaa"},
{"id":"b30cfe52d4a64722a7faedfa2669fc61","name":"test023","open":true,"pId":"75005b973bfc4032be3a94f88561e86a"},
{"id":"bbd612e84dad471c8ce99ed27432dab3","name":"文件夹11","open":true,"pId":"0"},{"id":"bbd612e84dad471c8ce99ed27432dab31","name":"文件夹02","open":true,"pId":"bbd612e84dad471c8ce99ed27432dab3"},
{"id":"beb16c6f38c9453d910c7250e5e5fc2b","name":"测试树形文件夹1","open":true,"pId":"0"},
{"id":"c408e4ad7f234b1285888f4258752de8","name":"1 ","open":true,"pId":"0"},
{"id":"c43f88a821ff4cecb039481dec7e9b4f","name":"测试树形文件夹13","open":true,"pId":"beb16c6f38c9453d910c7250e5e5fc2b"},
{"id":"c7245e341f814c63b4bd530498b0d234","name":"3-3文件夹01","open":true,"pId":"26cbed8da90147d1aa208e1d23e8324a"},
{"id":"c99a2d5ca1184f86984a7ff18e154130","name":"123","open":true,"pId":"0"},
{"id":"ca270b6f6e05493fbe6a86abf897425d","name":"递归删除文件夹","open":true,"pId":"0"},
{"id":"cffcfc91ce7344ad9c3acdb6610c4495","name":"11111111","open":true,"pId":"0"},
{"id":"e54c7f1f05d6435699ce9a5f65a4a126","name":"测试树形文件夹111","open":true,"pId":"27025c464d014901926b4cd8aaa429e5"},
{"id":"e6121d17c8ef4011a8c46555b8832dbb","name":"3-1文件夹01","open":true,"pId":"759f8c8e31674a28bdfe685b744ac930"},
{"id":"eb80856d6c0242269bb919f15d17737b","name":"测试树形文件夹121","open":true,"pId":"1d86b330500843b3bacae2d6c8c2dfaa"}]

后台controller层写的对应代码就是

@RequestMapping(value = "/showShiftFolders.action/{pageId}")
    public String showShiftFolders(Model model, @PathVariable String pageId) {
        //查询所有文件夹列表
        List<PortalFolder> folders = portalService.getFolderList();
        //将list集合封装成json格式,导入的包为import net.sf.json.JSONArray;
        JSONArray jsonArray = JSONArray.fromObject(folders);
        String json = jsonArray.toString();
        //System.out.println(json);可以测试打印输出一下
        //设置属性
        model.addAttribute("folderlist", json);
        //返回到对应的页面中
        return TPL + "shiftFileTo";
    }

其中实体类PortalFolder为:

package com.w.entity.portal;

public class PortalFolder {
    //当前pageId
    private String id;
    //父类pageId
    private String pId;
    //名称
    private String name;
    //设置状态为true
    private boolean open = true;

    public boolean isOpen() {
        return open;
    }

    public void setOpen(boolean open) {
        this.open = open;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getpId() {
        return pId;
    }

    public void setpId(String pId) {
        this.pId = pId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

然后是service层的代码:

 public List<PortalFolder> getFolderList() {
        List<PortalFolder> lists = mapper.getFolderList();
        PortalFolder portalFolder = new PortalFolder();
        portalFolder.setId("0");
        portalFolder.setName("根目录");
        portalFolder.setpId("-1");
        portalFolder.setOpen(true);
        return lists;
    }

最后在数据库中查询出对应的文件就可以了,希望对你有帮助。喜欢的朋友可以关注我微信的公众号:从小白到架构师。我会每天更新学习内容的。

发布了28 篇原创文章 · 获赞 9 · 访问量 8809

猜你喜欢

转载自blog.csdn.net/wb785074651/article/details/101530953