用spring mvc以来,一直都是在controller方法中添加参数,或添加对象参数的方式获取请求的参数。以前觉得很牛了,可以直接把请求参数注入到对象属性中。
后来看到一个国外帖子,才知道直接放一个map,就可以获取到所有参数。再也不用为参数获取传递单独写一个对象了。
/** * 登录 * @param req * @return */ @ResponseBody @RequestMapping("/login.action") public ModelAndView login(HttpServletRequest req,RedirectAttributes attr,@RequestParam Map<String,String> params){ //请求参数自动封装到了params里面 return new ModelAndView("redirect:/" + redirectUrl); }
spring controller有三种接受参数的方法,就是定义参数,定义dto对象,或者用map接受所有参数,前者都要写很多代码,而后者很方便。