>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19359 个阅读者 刷新本主题
 * 贴子主题:  SpringMVC Model、ModelMap和ModelAndView的区别和用法 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2024-03-28 05:27:06     消息  查看  搜索  好友  邮件  复制  引用


2016年10月16日 17:13:21
阅读数:9872

package com.learndemo.controller;


import java.util.HashMap;

import java.util.Map;


import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.ui.ModelMap;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;



@Controller

@RequestMapping(value = "/return")

public class LearnReturnType {



    /**

     * Model本身不能设置页面跳转的url地址别名或者物理跳转地址,那么我们可以通过控制器方法的返回值来设置跳转url

     * 地址别名或者物理跳转地址

     *

     * @param model

     *            一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类

     * @return 跳转url地址别名或者物理跳转地址

     */

    @RequestMapping(value = "/index1")

    public String index1(Model model) {

        model.addAttribute("result", "后台返回index1");

        return "result";

    }



    /**

     * ModelMap对象主要用于传递控制方法处理数据到结果页面,类似于request对象的setAttribute方法的作用。 用法等同于Model

     *

     * @param model

     * @return 跳转url地址别名或者物理跳转地址

     */



    @RequestMapping(value = "/index2")

    public String index2(ModelMap model) {

        model.addAttribute("result", "后台返回index2");

        return "result";

    }



    /**

     * ModelAndView主要有两个作用 设置转向地址和传递控制方法处理结果数据到结果页面

     * @return 返回一个模板视图对象

     */

    @RequestMapping(value = "/index3")

    public ModelAndView index3() {

        ModelAndView mv = new ModelAndView("result");

        // ModelAndView mv = new ModelAndView();

        // mv.setViewName("result");

        mv.addObject("result", "后台返回index3");

        return mv;

    }



    /**

     * map用来存储递控制方法处理结果数据,通过ModelAndView方法返回。

     * 当然Model,ModelMap也可以通过这种方法返回

     * @return 返回一个模板视图对象

     */

    @RequestMapping(value = "/index4")

    public ModelAndView index4() {

        Map<String, String> map = new HashMap<String, String>();

        map.put("result", "后台返回index4");

        return new ModelAndView("result", map);

    }

}


程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->数组
  JavaWeb开发-->JSP中使用JavaBean(Ⅱ)
  JSP与Hibernate开发-->通过JPA API检索数据
  Java网络编程-->基于UDP的数据报和套接字
  精通Spring-->Vue组件开发基础
  Vue3开发-->虚拟DOM和render()函数
  一篇文章让你彻底了解什么叫Netty!
  MyBatis+Spring 事务管理
  Mybatis-plus大数据量流式查询
  @Service注解的使用
  Spring MVC服务器端推送的两种方式
  在Spring MVC中配置线程池,进行异步请求处理
  Spring MVC国际化
  重新理解响应式编程
  @SessionAttributes的用法
  超详细使用Maven 搭建 Spring MVC 本地部署Tomcat 实现 Hell...
  微服务架构的优点和缺点
  网红框架SpringBoot2.x之定制参数浅析
  nginx详解反向代理、负载均衡、LNMP架构上线动态网站
  Gradle入门
  再谈响应式流(结合制奶厂业务的案例)
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。