>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19280 个阅读者 刷新本主题
 * 贴子主题:  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开发-->使用Session(Ⅰ)
  JSP与Hibernate开发-->通过JPA API检索数据
  Java网络编程-->用Axis发布Web服务
  精通Spring-->创建综合购物网站应用
  Vue3开发-->通过Vuex进行状态管理
  Maven 镜像地址大全
  Netty初识
  Java POI的使用方法(基于POI将Word、Excel、PPT转换为html)之...
  Spring API中JAVA反射—工具类ReflectionUtils
  Spring 5 webflux响应式编程 - 但时间也偷换概念
  重新理解响应式编程
  Spring MVC的拦截器的详细用法
  springMVC:HandlerInterceptor拦截器的使用
  通过Spring JDBC API访问数据库
  Nginx安装及配置
  RESTful架构和RESTful API设计总结
  Spring Cloud 技术栈及架构一览
  Dubbo源码解析之SPI:扩展类的加载过程
  Zabbix后端存储ES的优化实践
  mybatis-plus 注解实现多表关联查询的最佳实践
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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