Spring MVC页面跳转及数据处理

跳转结果的方式
  • ModelAndView对象,根据View的名称和视图解析器跳转到指定页面

    • 页面: 视图解析器前缀 + view name + 视图解析器后缀
      ModelAndView mv = new ModelAndView();
      //封装显示到视图中的数据
      mv.addObject("msg", "hello spring mvc annotation");
      //视图名
      mv.setViewName("hello");
  • 通过ServletAPI对象实现

    • 不需要配置视图解析器
    • 可以使用IO/重定向/转发
      public void hello(HttpServletRequest req, HttpServletResponse resp) throws IOException {
          resp.getWriter().print("hello, spring mvc!!");
          resp.sendRedirect("index.jsp");
          req.getRequestDispatcher("index.jsp").forward(req, resp);
      }
  • 通过Spring MVC实现转发和重定向(不配置视图解析器

    @RequestMapping("/hello1")
    public String hello1 () {
        //转发1
        //return "index.jsp";
        //转发2
        //return "forward:index.jsp";
        //重定向
        return "redirect:index.jsp";
    }
  • 通过Spring MVC实现转发和重定向(配置视图解析器

@RequestMapping("/hello2")
public String hello2 (){
    //转发
    //return "hello";
    //重定向,不需要视图解析器
    return "redirect:hello.do";
}

数据处理
  • 提交数据处理(三种方式)

    • 提交数据的域名称需要和处理方法的参数名称一致

    • 域名称和参数名不一致的情况下可以通过@RequestParam配置参数

    • 提交参数为对象时,域名称与属性名称一致即可

  • 响应数据处理(两种方式)

    • 通过ModelAndView 需要配置视图解析器
    • 通过ModelMap来实现,不需要视图解析器

      • ModelMap需要作为参数传入
  • ModelAndViewModelMap比较

    • 两者均可以将数据封装到表示层中
    • ModelAndView可以指定跳转页面,ModelMap不可以
    • ModelAndView需要配置视图解析器,ModelMap不需要
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值