一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

ztree+java异步加载树形菜单例子

时间:2016-06-14 编辑:简简单单 来源:一聚教程网

本篇给大家分享一下 ztree+java异步加载demo。ztree支持加载数据量可以做大,预计一个页面5000+都是可以的。

Ztree异步加载的意思就是: 当点击展开树节点时,才去请求后台action返回点击节点的子节点数据并加载。

本demo采用SpringMvc+Mybatis。参见代码结构图:


前台代码jsp

 代码如下 复制代码

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>



Ztree



    href="<%=request.getContextPath()%>/css/zTreeStyle.css">






   


       

           

           

           

                <iframe id="testIframe" name="testIframe" frameborder=0 scrolling=auto width=90%  height=580px src="ztree/welcome.ht">
           

       



    后台处理逻辑:

     代码如下 复制代码

    package com.henu.controller;
    import java.io.PrintWriter;
    import java.util.List;
    import javax.annotation.Resource;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import net.sf.json.JSONArray;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import com.henu.model.Ztree;
    import com.henu.service.ZtreeService;
    @Controller
    @RequestMapping("/ztree/")
    public class ZtreeController {
        @Resource
        private ZtreeService ztreeService;
        
        @RequestMapping("page")
        public String page(){
            return "ztree/ztreeList";
        }
        
        @RequestMapping("welcome")
        public String welcome(){
            return "ztree/welcome";
        }
        
        @RequestMapping("list")
        public void list(HttpServletRequest request, HttpServletResponse response) throws Exception{
            String catalogIdParam = request.getParameter("catalogId");
            Long catalogId = null;
            if (catalogIdParam != null) {
                catalogId = Long.parseLong(catalogIdParam);
            }
            String catalogName = request.getParameter("catalogName");
            System.out.println(catalogId + "|" + catalogName + "|"); 
            List ztreeList = ztreeService.getZtree(catalogId); 
            PrintWriter out = response.getWriter();
            String str = JSONArray.fromObject(ztreeList).toString();
            System.out.println(str);
            out.print(str);
        }
    }

    服务代码Service层ZtreeService.java:

     代码如下 复制代码

    package com.henu.service;
    import java.util.List;
    import com.henu.model.Ztree;
    public interface ZtreeService {
        List getZtree(Long catalogId);
    }

    ServiceImpl层ZtreeServiceImpl.java:

     代码如下 复制代码

    package com.henu.service.impl;
    import java.util.List;
    import javax.annotation.Resource;
    import org.springframework.stereotype.Service;
    import com.henu.dao.ZtreeDAO;
    import com.henu.model.Ztree;
    import com.henu.service.ZtreeService;
    @Service
    public class ZtreeServiceImpl implements ZtreeService{
        @Resource
        private ZtreeDAO ztreeDAO;
        public List getZtree(Long catalogId) {
            return ztreeDAO.getZtree(catalogId);
        }
    }

    持久层ZtreeDAO:

     代码如下 复制代码

    package com.henu.dao;
    import java.util.List;
    import javax.annotation.Resource;
    import org.mybatis.spring.SqlSessionTemplate;
    import org.springframework.stereotype.Component;
    import com.henu.model.Ztree;
    @Component
    public class ZtreeDAO {
        @Resource
        private SqlSessionTemplate sqlSessionTemplate;
        
        public List getZtree(Long catalogId) {
            List ztreeList = sqlSessionTemplate.selectList("com.henu.model.Ztree.getZtree",catalogId);
            return ztreeList;
        }
    }

    Ztree.map.xml

     

     代码如下 复制代码




       

    热门栏目