Spring MVC 控制器中接收页面请求参数

  1. 在控制器方法上定义 HttpServletRequest 参数 然后使用 request 获取
  2. 直接定义和页面参数相同的控制器参数 参数名相同则容器自动获取
  3. 当页面参数 和 控制器参数不一致 如何解决?
    @RequestParam("参数名") 可以让请求参数 和 控制器参数对应
  4. 定义对象类型的参数 — 请求参数名 和 set方法保持对应

Spring 控制器中 如何将数据传递给页面

  1. 使用域对象 向页面传输
    request session ServletContext
    setAttribute("key",value)
  2. 使用 ModelAndView 进行数据传递
    getModel().put(key,value)
    getModelMap().addAttribute(key,value)
  3. 使用 Model 进行数据传输
    addAttribute("key",value)
  4. 使用ModelMap 传递数据
    addAttribute(key,value)
    put(key,value)
  5. 使用默认的传输机制
    当定义复杂的自定义控制器参数时 则控制器会自动把这个类型的数据放入request
    默认是类名首字母小写 可以使用 @ModelAttribute("名字") 改变默认规范

Spring 控制器中如何实现重定向?

  1. 当控制器方法返回 String 类型时
    在请求路径前 加 redirect:
  2. 当控制器方法返回ModelAndView 时
    RedirectView 结合请求来完成

中文乱码的处理

tomcat8 中 get 请求没有乱码问题
tomcat8 中 post 请求 乱码的处理

原来的方式依然可用 但是必须完全遵守之前的方式
request.setCharacterEncoding(“utf-8”);
request.getParameter(“acc_no”)

使用编码过滤器 Spring 框架提供的



11月      Java

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!