springmvc ModelAndView 视图模型

原文链接: springmvc ModelAndView 视图模型

上一篇: springmvc 路由 匹配 和 restful api 的实现

下一篇: springmvc @Autowired @Resource

1. ModelAndView是什么以及它的作用是什么

用于封装需要响应到页面的数据和视图名字

  • 简单理解它是将后台返回的数据传递给View层,同时包含一个要访问的View层的URL地址
  • 当控制器处理完请求后,通常控制器会将包含视图名称以及一些模型属性的ModelAndView对象返回给DispatcherServlet。因此,在控制器中会构造一个ModelAndView对象
  • ModelAndView作用
    • 设置转向地址
    • 将底层获取的数据进行存储(或者封装)
    • 最后将数据传递给View

可以携带信息

        modelAndView.addObject("message", "Hello World, Hello Kitty");

简单跳转,前端提交表单,后端验证后跳转不同的页面,并传递信息

form

<form action="http://localhost:8080/login" method="post">
    <input name="name">
    <input name="age">
    <button type="submit">login</button>
</form>

suc,err .jsp

<h1>
    ${msg}
</h1>

login 根据不同的数据,跳转不同的页面,视图后缀可以省略jsp

  @RequestMapping("/login")
    public ModelAndView login(
            HttpServletRequest request, HttpServletResponse response) {
        String name = request.getParameter("name");
        String age = request.getParameter("age");
        System.out.println("login:" + name + " age:" + age);
        if (name.equals("root"))
            return new ModelAndView("suc", "msg", "登录成功");
        return new ModelAndView("err", "msg", "登录失败");
    }

设置重定向

        return new ModelAndView("redirect:http://www.baidu.com");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是关于 Spring MVCModelAndView 的中文回答: Spring MVCModelAndView 是一个用于存储模型数据和视图信息的类。它将数据和视图名封装在一起,以便将它们传递给控制器的处理方法,然后由控制器将模型数据渲染到视图中。 具体而言,ModelAndView 由两个部分组成:模型model)和视图view)。模型部分是一个 Map 对象,用于存储要传递给视图的数据。视图部分是一个字符串,表示要渲染的视图的名称。 在控制器的处理方法中,可以使用 ModelAndView 对象来设置模型数据和视图名称。例如: ``` @RequestMapping("/home") public ModelAndView home() { ModelAndView modelAndView = new ModelAndView("home"); modelAndView.addObject("message", "欢迎访问我的网站!"); return modelAndView; } ``` 在上面的例子中,我们创建了一个 ModelAndView 对象,将视图名称设置为 "home",并向模型中添加了一条消息数据。然后,我们将 ModelAndView 对象返回给 Spring MVC,它将使用配置的视图解析器将视图名称转换为实际的视图,并将模型数据渲染到该视图中。 在视图中,可以使用 EL 表达式来访问模型数据。例如,在 JSP 中,可以像这样访问消息数据: ``` <h1>${message}</h1> ``` 总的来说,ModelAndView 是一个很方便的类,可以用于封装控制器处理方法的返回结果,包括模型数据和视图名称,从而使得编写控制器方法更加简单和清晰。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值