`
KimHo
  • 浏览: 73906 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

Spring3MVC+MyBatis+ExtJs3整合开发系列之二:菜单模块演示

阅读更多
我又回来了,带来了Spring3MVC+MyBatis+ExtJs3整合开发系列之第二篇:菜单模块演示。

  承接上篇Spring3MVC+MyBatis+ExtJs3整合开发系列之一:登录模块演示,本篇增加了菜单加载的功能到本项目中。

  菜单模块结构图:
 


domain层
public class Menu implements Serializable {
	private static final long serialVersionUID = -2726709540069876682L;
	
	private Long id;
	private Long parent_id;
	private String name;
	private String image;
	private String url;
	private String qtip;
	private Integer sortNum;
	private String description;
	/**
	 * true:默认为叶子结点,即子菜单
	 */
	private boolean leaf = true;
	private List<Menu> children;

    其中,leaf用来标识主子菜单(同时也是为了配合前端extjs treePanel控件所需的标识),这里true表示为子菜单,false表示为主菜单;children用来存放主菜单下的所有子菜单。

service层
@Service
public class MenuService {
	@Autowired
	private MenuMapper menuMapper;
	
	@Transactional
	public List<Menu> getMenuListByUserId(Long userId) {
		Map<String,Object> param = new HashMap<String,Object>();
		List<Menu> mainMenuList = menuMapper.getMainMenuList(userId);
		Iterator<Menu> it = mainMenuList.iterator();
		//装载主菜单下所有的子菜单
		while(it.hasNext()) {
			Menu menu = it.next();
			//false:表示为主菜单
			menu.setLeaf(false);
			Long parentId = menu.getId();
			param.put("userId", userId);
			param.put("parentId", parentId);
			List<Menu> subMenuList = menuMapper.getSubMenuList(param);
			menu.setChildren(subMenuList);
		}
		return mainMenuList;
	}
}

    简单说下两级菜单的加载原理:我这里只假设了只有主菜单和子菜单两级菜单(多级菜单的实现思想类似)。首先,根据用户的菜单权限,加载所有的主菜单,然后根据每个主菜单的菜单id去逐个获取该主菜单下的所有子菜单,所有的子菜单加载完后那么也就完成了两级菜单的加载了。

controller层
@Controller
@RequestMapping("/user")
public class UserController {
	@Autowired
	private UserService userService;
	@Autowired
	private MenuService menuService;


/**
	 * 获取所有菜单
	 * @param request
	 * @param response
	 * @return
	 */
	@RequestMapping(value="/Menus",method=RequestMethod.POST)
	public @ResponseBody Map<String,Object> getTopMenus(HttpServletRequest request,   
            HttpServletResponse response){
		Map<String,Object> result = new HashMap<String,Object>();
		User user = (User)request.getSession().getAttribute("user");
		List<Menu> list = menuService.getMenuListByUserId(user.getId());
		result.put("success", "true");
		result.put("data", list);
		return result;
	}

    spring3mvc封装了json的自动转换,使用@ResponseBody标记下该方法,这样return对象的时候,将自动帮你把普通的pojo对象转成json格式的对象.

    菜单效果图:


源码地址:http://code.google.com/p/kika/
  • 大小: 14.6 KB
  • 大小: 32.6 KB
分享到:
评论
3 楼 HY123456654 2015-09-14  
2 楼 KimHo 2011-08-17  
liangfeng366 写道
你好,你的教程挺不错的,但我在运行的时候就会出现乱码,像从新编辑了角色,在保存数据库就是一个个问好,传到后台是没有乱码的,mysql数据库tomact都用了utf-8,但还是会出现这个问题。。。。纠结了。。

应该是tomcat或者数据库的编码问题.
tomcat的话,配置下server.xml:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding='UTF-8'/>

数据库的话,可以参考我的一篇文章。

如果还不行,就检查下页面编码啥的,中文乱码问题确实比较头疼,呵呵。
1 楼 liangfeng366 2011-08-17  
你好,你的教程挺不错的,但我在运行的时候就会出现乱码,像从新编辑了角色,在保存数据库就是一个个问好,传到后台是没有乱码的,mysql数据库tomact都用了utf-8,但还是会出现这个问题。。。。纠结了。。

相关推荐

    spring+mvc+mybatis+extjs整合

    【标题】"spring+mvc+mybatis+extjs整合"是一个经典的Java Web开发框架组合,广泛应用于企业级应用。这个项目结合了Spring MVC作为控制层,MyBatis作为数据访问层,以及ExtJS作为前端展示层,构建了一个完整的三层...

    Spring3MVC+MyBatis+ExtJs3整合开发系列之四:角色管理模块

    在本篇博文中,我们将深入探讨“Spring3MVC+MyBatis+ExtJs3整合开发系列之四:角色管理模块”。这个主题涉及到三个关键的技术栈:Spring MVC作为后端MVC框架,MyBatis作为持久层解决方案,以及Ext Js 3作为前端UI库...

    Spring3MVC + MyBatis + ExtJs3整合开发系列

    Spring3MVC、MyBatis和ExtJs3的整合开发旨在创建一个高效的、灵活的Web应用程序。整合的关键在于如何协调这些框架的工作,使得Spring3MVC处理HTTP请求和控制流程,MyBatis负责数据访问和SQL执行,而ExtJs3则作为前端...

    Spring MVC+Mybatis整合实现用户登录以及增删改查功能

    在本项目中,我们主要探讨的是如何将Spring MVC与Mybatis框架进行整合,以实现一个完整的用户管理系统,包括用户登录和基本的CRUD(创建、读取、更新、删除)操作。Spring MVC作为Spring框架的一部分,是用于构建Web...

    activiti+spring mvc+maven+extjs mvc+mybatis一个简单的请假工作流

    标题中的“activiti+spring mvc+maven+extjs mvc+mybatis”是一个集成的IT解决方案,用于构建一个简单的请假工作流程应用。这个项目利用了多种技术来创建一个前端和后端无缝协作的系统。 1. **Activiti**:Activiti...

    SpringMvc+MyBatis+ehcache+ExtJs分页

    Spring MVC、MyBatis、Ehcache和ExtJS这四个技术组件都是开发者们在构建此类应用时常常使用的工具。让我们详细了解一下这些技术以及它们如何协同工作。 首先,Spring MVC是Spring框架的一个模块,专门用于构建Web...

    Spring、Spring mvc、Mybatis、ExtJs实战开发技术

    整理了一下Spring、Spring mvc、Mybatis、ExtJs实战开发技术的内容,作为进阶提示

    freemarke+springmvc+mybatis+spring shiro,extjs

    【标题】"freemarke+springmvc+mybatis+spring shiro,extjs" 描述了一种基于Java技术栈的Web应用开发架构,其中包括了多个核心组件,这些组件共同构建了一个功能强大的企业级应用程序。 1. **FreeMarker**:...

    spring mvc3 mybatis3 extjs 3.4权限管理系统

    本人初步采用spring mvc3 mybatis3 extjs 3.4开发进销存软件,有很好的参考价值,其中数据库采用oracle,分页采用调用oracle的存储过程,有很好的学习价值,若是想开发简单的CRM和进销存系统是极品参考的系统。...

    java spring mvc mybatis(ssm) 整合ExtJS

    eclipse 开发的作品,整合spring mvc mybatis ExtJS6,实现漂亮的管理后台; 主要技术说明:完善了CURD的功能;健全的权限管理;缓存工厂的使用,默认使用EHCACHE;后台模板切换;程序启动自动加载平台参数;完善了...

    JavaWeb+mybatis+Extjs+spring mvc信息管理系统

    JavaWeb+Extjs+springMvc+mybatis做的信息管理系统,主要是用Extjs实现前台,其中包括了树形结构和基本的表单和列表等,springMVC框架,数据库操作层使用的是mybatis,其中的数据库表结构可以根据其中的mapper.xml...

    SpringMVC+Mybatis+ExtJs5.0

    【SpringMVC+Mybatis+ExtJs5.0】是一个典型的Java Web开发框架组合,用于构建高效、可扩展的企业级后台管理系统。这个框架的核心在于SpringMVC作为控制器,Mybatis作为数据访问层,以及ExtJs5.0作为前端UI框架。 1....

    spring3+ibaits3+struts2.18+Extjs3整合增删查改

    "Spring3+iBatis3+Struts2.18+ExtJS3整合增删查改"是一个典型的Java Web开发组合,用于实现高效的数据管理和用户界面交互。下面我们将深入探讨这个组合中的每个组件及其在整体架构中的作用。 **Spring3**: Spring...

    SpringMVC+Mybatis整合ExtJs5.0

    SpringMVC、MyBatis和ExtJS都是在开发企业级应用时常用的组件。这里我们将深入探讨如何将这些技术进行整合,以创建一个基于SpringMVC注解和MyBatis的数据层的后台管理框架,并结合ExtJS5.0构建用户管理界面。 首先...

    spring mvc mybatis extjs 3.4 权限管理

    ### Spring MVC MyBatis ExtJS 3.4 权限管理系统关键知识点解析 #### 一、项目背景与架构概述 本系统采用Spring MVC框架作为控制层,MyBatis作为持久层框架,ExtJS 3.4作为前端界面展示工具,实现了权限管理功能,...

    springmvc+mybatis+Extjs权限

    本项目采用的是SpringMVC、MyBatis以及ExtJS这三大核心技术,构建了一个集成了权限管理的高效系统。以下将详细阐述这三个技术及其在权限管理中的应用。 **SpringMVC** SpringMVC是Spring框架的一部分,专门用于构建...

    extjs+springmvc+dubbo+mybatis+oracle

    标题 "extjs+springmvc+dubbo+mybatis+oracle" 描述了一个综合性的企业级Web应用架构,结合了前端、后端服务以及数据库技术。这个架构由以下几部分组成: 1. **ExtJS**:这是一个JavaScript库,用于构建富客户端...

    Extjs+SpringMVC+MyBaits财务管控系统

    《基于Extjs、SpringMVC和MyBatis的财务管控系统构建详解》 在现代企业信息化建设中,财务管控系统的构建至关重要,它能够帮助企业高效管理财务数据,提高运营效率,确保财务安全。本文将深入探讨如何利用Extjs、...

    Extjs+Mysql+SpringMVC+MyBatis通用后台管理系统

    《基于Extjs+Mysql+SpringMVC+MyBatis的通用后台管理系统详解》 在当前信息化社会中,后台管理系统是企业管理与运营的核心工具之一。本文将深入探讨一个使用Extjs作为前端框架,Mysql作为数据库,SpringMVC作为控制...

    Extjs5.0从入门到实战开发信息管理系统(Extjs基础、Extjs5新特性、Spring、Spring mvc)

    Extjs5.0从入门到实战... panel, tabpanel,Tree, grid, form表单(及其验证方法),数据组件: store,model等,讲解了动态菜单、单表和子父表模块等的开发方法以及后端spring,spring mvc,mybatis的整合和数据打通等。

Global site tag (gtag.js) - Google Analytics