• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
james1207

博客园    首页    新随笔    联系   管理    订阅  订阅

jQuery zTree v3.5 实例3 异步树

最终效果:

点击非叶子节点时,向后台发送请求,获取下级菜单

 

前台代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript" src="<%=basePath %>/js/jquery-1.8.1.js"></script>
	<script type="text/javascript" src="<%=basePath %>/js/jquery.ztree.all-3.5.min.js"></script>
	<link href="<%=basePath %>/css/zTreeStyle.css" rel="stylesheet" type="text/css"/>
	<script type="text/javascript">
		var zTree;
		var setting = {
			async: {
				enable: true,
				url:"<%=basePath%>menu/getMenu.action",
				autoParam:["id=pid"]
			},
			callback:{
				beforeClick:function(treeId,treeNode){
					if(treeNode.isParent){
						zTree.expandNode(treeNode);
						return true;
					}
					return false;
				}
			}
		}; 
		
		$(function(){
			zTree = $.fn.zTree.init($("#tree"), setting);
		});
	</script>
<body>
	<ul id="tree" class="ztree"></ul>
</body>
</html>


后台代码(springMVC+mybatis)如下:

controller层:

@Controller
@RequestMapping("menu")
public class MenuController {
	@Autowired
	private MenuService menuService;
	@RequestMapping("/getMenu")
	@ResponseBody
	public List<Menu> getMenu(@RequestParam(defaultValue="0")int pid) throws Exception{
		return this.menuService.getMenu(pid);
	}
}


service层如下:

@Service
public class MenuService {
	@Autowired
	private MenuDao menuDao;
	public List<Menu> getMenu(int pid) throws Exception{
		if(pid == 0){
			List<Menu> list = new ArrayList<Menu>();
			Menu menu = this.menuDao.getRoot();
			list.add(menu);
			return list;
		}
		return this.menuDao.getNextNodes(pid);
	}
}


 

数据库结构如下:

          

 

 

posted @ 2013-08-20 20:22  Class Xman  阅读(622)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3