@RequestParam的用法

1.前端傳遞過來的參數列表對應數據庫的字段名
controller層用map接收
ex更新用戶信息

@RequestMapping(value="update_user_info.do",method=RequestMethod.POST)
    @ResponseBody
    public ResultCode<Map> update_user_info(HttpSession session,
                                            @RequestParam Map map){
        Map user =  (Map) session.getAttribute(Const.CURRENT_USER);
        if(user==null){
            return ResultCode.createByError("用戶未登陸");
        }
        map.put("id", user.get("id"));//防止越權,id被改變
        map.put("username", user.get("username"));  //username也不能改變
        ResultCode<Map> result = 
                        iUserService.update_user_info(map);//map直接給service調用dao
        if(result.isSuccess()){
            //如果result返回成功,則將值賦值給session
            session.setAttribute(Const.CURRENT_USER, result.getData());
        }
        return result;
    }

2.前端傳遞過來的參數對應數據庫的字段名,如果不傳遞,則有默認值
ex:添加類目

@RequestMapping("add_category.do")
    @ResponseBody
    public ResultCode add_category(
         HttpSession session,
         String name,
         @RequestParam(value="parent_id",defaultValue="0") Integer parent_id){

        Map user = (Map) session.getAttribute(Const.CURRENT_USER);
        if(user==null){return ResultCode.createByError("用戶未登陸");}
        if(iUserService.checkAdminRole(user).isSuccess()){
            return iCategoryService.add_category(name, parent_id);
        }else{
            return ResultCode.createByError("不是管理員,無權限");
        }
    }

注意:dao層也可以拆分map,用mybatis註解 @param

Map login(@Param("username")String username, @Param("password")String password);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章