多语言展示
当前在线:1934今日阅读:155今日分享:35

java分析页面登陆逻辑

登陆实例
方法/步骤
1

@Controller@RequestMapping(value = '/admin/user')public class UserController {    private static final Logger logger = LoggerFactory.getLogger(UserController.class);    @Autowired    private IUserService userService;    @Autowired    private IRoleService roleService;

2

@RequestMapping(value = '/list/{pageNo}',method = RequestMethod.GET)    public String list(Model model,@PathVariable('pageNo')Long pageNo){    Long count =userService.getCount(null).longValue();    Page page = new Page(pageNo,count);    Listlists = userService.findList(page);        model.addAttribute('list',lists);        model.addAttribute('page',page);        return 'user/list';    }

3

/**     * 跳转到添加用户的页面     * @param model     * @return     */    @RequestMapping(value = '/add',method = RequestMethod.GET)    public String add(Model model){        logger.debug('跳转到添加用户的页面');        model.addAttribute('user',new User());        model.addAttribute('roles',roleService.list());        return 'user/add';    }

方法/步骤2
1

/**     * 添加用户保存的方法     * @param user     * @param request     * @return     */    @RequestMapping(value = '/add',method = RequestMethod.POST)    public String add(User user, HttpServletRequest request){        logger.debug('添加用户 post 方法');        logger.debug(user.toString());        List roleIdList = new ArrayList<>();        String[] roldIds = request.getParameterValues('roleId');        for(String roleId:roldIds){            roleIdList.add(Integer.parseInt(roleId));        }        userService.add(user,roleIdList);        // 重定向到本 Controller 的 list 方法(Get 方式)        return 'redirect:list/1';    }

2

@ResponseBody    @RequestMapping(value = '/updateStatus',method = RequestMethod.POST)    public Map updateStatus(User user){        User u = userService.update(user);        Map result = new HashMap<>();        if(u != null){            result.put('success',true);        }else {            result.put('success',false);            result.put('errorInfo','更新状态失败');        }        return result;    }

3

/**     * 跳转到用户信息更新页面     * @param id     * @param model     * @return     */    @RequestMapping(value = '/update/{id}',method = RequestMethod.GET)    public String update(@PathVariable('id') Integer id,Model model){        // 要从数据库查询对象进行回显        User user = userService.load(id);        model.addAttribute('user',user);        // 所有的角色列表        model.addAttribute('roles',roleService.list());        /**         * 根据用户 id 查询用户的所有角色         */        List hasRoles = userService.listUserRole(id);        /**         * 将用户的所有角色 id 添加到一个字符串中         */        List rids = new ArrayList<>();        for(Role r:hasRoles) {            rids.add(r.getId());        }        // 指定用户拥有的角色信息        model.addAttribute('hasRole', rids);        return 'user/update';    }    /**     * 更新用户的信息(包括更新用户绑定的角色)     * @param user     * @return     */    @RequestMapping(value = '/update/{id}',method = RequestMethod.POST)    public String update(User user,HttpServletRequest request,String[] newPassword,Model model){        // // TODO: 2016/9/18 这个过程还是可以优化的,如果属性没有发生变化的地方,是不须要更新的        logger.debug('user => ' + user);        if(newPassword[0].equals(newPassword[1])){        if(newPassword[0]!=null && newPassword[0]!=''){        user.setPassword(newPassword[0]);        }        String[] roleIds = request.getParameterValues('roleId');        List roleIdList = new ArrayList<>();        for(String roleId:roleIds){            roleIdList.add(Integer.valueOf(roleId));        }        userService.update(user,roleIdList);        return 'redirect:/admin/user/list/1';        }else{        model.addAttribute('msg', '密码不一致');        return 'redirect:/admin/user/update/'+user.getId();        }    }

4

/**     *  根据用户 id 跳转到用户权限的列表页面     * @return     */    @RequestMapping(value = '/resources/{id}',method = RequestMethod.GET)    public String listResources(@PathVariable('id') Integer userId,Model model){        List resourceList = userService.listAllResource(userId);        User user = userService.load(userId);        model.addAttribute('resources',resourceList);        model.addAttribute('user',user);        return 'user/resources';    }    /**     * 批量删除用户     * 1、删除用户数据     * 2、删除用户绑定的角色数据     * @param userIds     * @return     */    @ResponseBody    @RequestMapping(value = '/delete',method = RequestMethod.POST)    public Map delete(            @RequestParam('userIds[]') List userIds){        Map result = new HashMap<>();        try{            userService.deleteUserAndRole(userIds);            result.put('success',true);        }catch (RuntimeException e){            e.printStackTrace();            result.put('success',false);            result.put('errorInfo',e.getMessage());        }        return result;    }}

推荐信息