>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19281 个阅读者 刷新本主题
 * 贴子主题:  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面向对象编程-->Java常用类(上)
  JavaWeb开发-->Web运作原理(Ⅰ)
  JSP与Hibernate开发-->映射组成关系
  Java网络编程-->通过JDBC API访问数据库
  精通Spring-->Vue Router路由管理器
  Vue3开发-->虚拟DOM和render()函数
  Maven 镜像地址大全
  一篇文章让你彻底了解什么叫Netty!
  RocketMQ-Spring 为什么能成为 Spring 生态中最受欢迎的
  重新理解响应式编程
  孙卫琴系列Java书籍的QQ交流读者群
  Spring MVC的@ExceptionHandler注解的用法
  【项目实践】使用Vue.js和ElementUI快速实现后台管理系统的界...
  JSR-303 数据验证注解的用法
  微服务拆分实践
  理解 RESTful 风格的 API
  开发一个Java项目的基本流程
  Java软件架构设计七大原则
  Spring+JPA+ehcache开启二级本地缓存
  SVN使用指南:查看历史信息的方法
  Spring Framework 组件注册 之 @Import
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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