首页>代码>java设计好的后台权限管理的系统>/security/src/main/java/com/ketayao/security/controller/ModuleController.java
/** * <pre> * Copyright: Copyright(C) 2011-2012, ketayao.com * Filename: com.ygsoft.security.controller.ModuleController.java * Class: ModuleController * Date: 2012-8-6 * Author: <a href="mailto:ketayao@gmail.com">ketayao</a> * Version 1.1.0 * Description: * * </pre> **/ package com.ketayao.security.controller; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.ketayao.security.entity.main.Module; import com.ketayao.security.exception.ServiceException; import com.ketayao.security.service.ModuleService; import com.ketayao.util.dwz.AjaxObject; import com.ketayao.util.dwz.Page; /** * * @author <a href="mailto:ketayao@gmail.com">ketayao</a> * Version 1.1.0 * @since 2012-8-6 上午10:08:48 */ @Controller @RequestMapping("/management/security/module") public class ModuleController { @Autowired private ModuleService moduleService; private static final String CREATE = "management/security/module/create"; private static final String UPDATE = "management/security/module/update"; private static final String LIST = "management/security/module/list"; private static final String TREE = "management/security/module/tree"; @RequiresPermissions("Module:save") @RequestMapping(value="/create", method=RequestMethod.GET) public String preCreate() { return CREATE; } @RequiresPermissions("Module:save") @RequestMapping(value="/create", method=RequestMethod.POST) public @ResponseBody String create(Module module, HttpServletRequest request) { module.setParent((Module)request.getSession().getAttribute("parentModule")); moduleService.save(module); AjaxObject ajaxObject = new AjaxObject("模块添加成功!"); return ajaxObject.toString(); } @RequiresPermissions("Module:edit") @RequestMapping(value="/update/{id}", method=RequestMethod.GET) public String preUpdate(@PathVariable Long id, Map<String, Object> map) { Module module = moduleService.get(id); map.put("module", module); return UPDATE; } @RequiresPermissions("Module:edit") @RequestMapping(value="/update", method=RequestMethod.POST) public @ResponseBody String update(Module module) { moduleService.update(module); AjaxObject ajaxObject = new AjaxObject("模块修改成功!"); return ajaxObject.toString(); } @RequiresPermissions("Module:delete") @RequestMapping(value="/delete/{id}", method=RequestMethod.POST) public @ResponseBody String delete(@PathVariable Long id) { AjaxObject ajaxObject = new AjaxObject(); try { moduleService.delete(id); ajaxObject.setMessage("模块删除成功!"); } catch (ServiceException e) { ajaxObject.setStatusCode(AjaxObject.STATUS_CODE_FAILURE); ajaxObject.setMessage("模块删除失败:" + e.getMessage()); } ajaxObject.setCallbackType(""); ajaxObject.setRel("jbsxBox2module"); return ajaxObject.toString(); } @RequiresPermissions("Module:view") @RequestMapping(value="/tree", method=RequestMethod.GET) public String tree(Map<String, Object> map) { Module module = moduleService.getTree(); map.put("module", module); return TREE; } @RequiresPermissions("Module:view") @RequestMapping(value="/list/{parentId}", method={RequestMethod.GET, RequestMethod.POST}) public String list(Page page, @PathVariable Long parentId, String keywords, Map<String, Object> map, HttpServletRequest request) { List<Module> modules = null; if (StringUtils.isNotBlank(keywords)) { modules = moduleService.find(parentId, keywords, page); } else { modules = moduleService.find(parentId, page); } request.getSession().setAttribute("parentModule", moduleService.get(parentId)); map.put("page", page); map.put("modules", modules); map.put("keywords", keywords); return LIST; } }