zoukankan      html  css  js  c++  java
  • Controller层注解

    /**
     * Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
     */
    package com.thinkgem.jeesite.modules.sys.web;
    
    import java.util.List;
    import java.util.Map;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.shiro.authz.annotation.RequiresPermissions;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.ModelAttribute;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.servlet.mvc.support.RedirectAttributes;
    
    import com.google.common.collect.Lists;
    import com.google.common.collect.Maps;
    import com.thinkgem.jeesite.common.config.Global;
    import com.thinkgem.jeesite.common.persistence.Page;
    import com.thinkgem.jeesite.common.utils.StringUtils;
    import com.thinkgem.jeesite.common.web.BaseController;
    import com.thinkgem.jeesite.modules.sys.entity.Dict;
    import com.thinkgem.jeesite.modules.sys.service.DictService;
    import com.thinkgem.jeesite.modules.sys.utils.DictUtils;
    
    /**
     * 字典Controller
     * @author ThinkGem
     * @version 2014-05-16
     */
    @Controller
    @RequestMapping(value = "${adminPath}/sys/dict")
    public class DictController extends BaseController {
    
        @Autowired
        private DictService dictService;
        
        @ModelAttribute
        public Dict get(@RequestParam(required=false) String id) {
            if (StringUtils.isNotBlank(id)){
                return dictService.get(id);
            }else{
                return new Dict();
            }
        }
        
        @RequiresPermissions("sys:dict:view")
        @RequestMapping(value = {"list", ""})
        public String list(Dict dict, HttpServletRequest request, HttpServletResponse response, Model model) {
            List<String> typeList = dictService.findTypeList();
            model.addAttribute("typeList", typeList);
            Page<Dict> page = dictService.findPage(new Page<Dict>(request, response), dict); 
            model.addAttribute("page", page);
            return "modules/sys/dictList";
        }
    
        @RequiresPermissions("sys:dict:view")
        @RequestMapping(value = "form")
        public String form(Dict dict, Model model) {
            model.addAttribute("dict", dict);
            return "modules/sys/dictForm";
        }
    
        @RequiresPermissions("sys:dict:edit")
        @RequestMapping(value = "save")//@Valid 
        public String save(Dict dict, Model model, RedirectAttributes redirectAttributes) {
            if(Global.isDemoMode()){
                addMessage(redirectAttributes, "演示模式,不允许操作!");
                return "redirect:" + adminPath + "/sys/dict/?repage&type="+dict.getType();
            }
            if (!beanValidator(model, dict)){
                return form(dict, model);
            }
            dictService.save(dict);
            addMessage(redirectAttributes, "保存字典'" + dict.getLabel() + "'成功");
            return "redirect:" + adminPath + "/sys/dict/?repage&type="+dict.getType();
        }
        
        @RequiresPermissions("sys:dict:edit")
        @RequestMapping(value = "delete")
        public String delete(Dict dict, RedirectAttributes redirectAttributes) {
            if(Global.isDemoMode()){
                addMessage(redirectAttributes, "演示模式,不允许操作!");
                return "redirect:" + adminPath + "/sys/dict/?repage";
            }
            dictService.delete(dict);
            addMessage(redirectAttributes, "删除字典成功");
            return "redirect:" + adminPath + "/sys/dict/?repage&type="+dict.getType();
        }
        
        @RequiresPermissions("user")
        @ResponseBody
        @RequestMapping(value = "treeData")
        public List<Map<String, Object>> treeData(@RequestParam(required=false) String type, HttpServletResponse response) {
            List<Map<String, Object>> mapList = Lists.newArrayList();
            Dict dict = new Dict();
            dict.setType(type);
            List<Dict> list = dictService.findList(dict);
            for (int i=0; i<list.size(); i++){
                Dict e = list.get(i);
                Map<String, Object> map = Maps.newHashMap();
                map.put("id", e.getId());
                map.put("pId", e.getParentId());
                map.put("name", StringUtils.replace(e.getLabel(), " ", ""));
                mapList.add(map);
            }
            return mapList;
        }
        
        @ResponseBody
        @RequestMapping(value = "listData")
        public List<Dict> listData(@RequestParam(required=false) String type) {
            Dict dict = new Dict();
            dict.setType(type);
            return dictService.findList(dict);
        }
    
        
        @ResponseBody
        @RequestMapping(value = "getDictLabel")
        public  String getDictLabel(String value, String type, String defaultValue){
            if (StringUtils.isNotBlank(type) && StringUtils.isNotBlank(value)){
                for (Dict dict : DictUtils.getDictList(type)){
                    if (type.equals(dict.getType()) && value.equals(dict.getValue())){
                        return dict.getLabel();
                    }
                }
            }
            return defaultValue;
        }
    }
  • 相关阅读:
    联合金投P9办公自动化解决方案[1]
    协同软件不是万能钥匙:看清协同软件的边界
    天剑OA系统解决方案[1]
    怡康OA办公自动化解决方案
    联合金投P9办公自动化解决方案[1]
    天路协同办公管理系统解决方案[1]
    泛微协同商务系统办公自动化解决方案
    DCI.Indi.Office4.0 OA解决方案(集团企业版)
    新思创OA办公自动化解决方案
    福州世纪通OA办公自动化系统方案[1]
  • 原文地址:https://www.cnblogs.com/SHMILYHP/p/5198090.html
Copyright © 2011-2022 走看看