>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19238 个阅读者 刷新本主题
 * 贴子主题:  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与Hibernate开发-->持久化层的映射类型
  Java网络编程-->Socket用法详解
  精通Spring-->虚拟DOM和render()函数
  Vue3开发-->Vue CLI脚手架工具
  MessagePack反序列化使用示例
  一篇文章让你彻底了解什么叫Netty!
  面试官问什么是Spring循环依赖,该如何回答?
  循序渐进,阿里架构师看完都赞叹的Redis分布式锁原理分析
  Spring MVC实现国际化的几种方式
  Spring的方法拦截器范例
  Spring MVC的拦截器的详细用法
  Spring Boot JPA @OneToOne
  重新理解响应式编程
  Spring Cloud构建微服务架构的服务注册与发现
  一文详解微服务架构(好文值得细读)
  带你逆袭kafka之路
  利用Spring Boot如何开发REST服务详解
  Spring Framework 组件注册 之 @Import
  Axis、Axis2和CXF比较
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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