>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring》、《Spring Cloud Alibaba微服务开发零基础入门到实操》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 24733 个阅读者 刷新本主题
 * 贴子主题:  SpringMVC Model、ModelMap和ModelAndView的区别和用法 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2025-04-21 08:48:16     消息  查看  搜索  好友  邮件  复制  引用


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开发-->JavaWeb应用入门(Ⅱ)
  JSP与Hibernate开发-->映射一对多关联关系
  Java网络编程-->客户端协议处理框架
  精通Spring-->计算属性和数据监听
  Vue3开发-->CSS过渡和动画
  SpringCloud服务间内部调用原理
  Mybatis Plus 多租户架构(Multi-tenancy)实现
  SSE(Server Sent Events) HTTP服务端推送详解 - hadoop_a9bb...
  Spring MVC中Controller的用法
  超详细使用Maven 搭建 Spring MVC 本地部署Tomcat 实现 Hell...
  国内 Java 开发者必备的两个神器:Maven国内镜像和Spring国内...
  聊聊Spring Cloud版本的那些事儿
  springboot集成通用mapper实现Echarts
  如何实现Git服务间同步
  Spring Boot集成shiro ehcache(使用shiro的缓存管理)
  使用idea和gradle编译spring5源码
  微架构 springcloud-07. springboot-静态资源处理
  Spring MVC Controller单例陷阱
  Spring入门基础知识
  Axis、Axis2和CXF比较
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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