首页 > 其他分享 >简述SpringMVC数据输出的方式

简述SpringMVC数据输出的方式

时间:2023-12-11 13:12:23浏览次数:34  
标签:输出 SpringMVC Controller 视图 简述 ModelAndView 数据 public

简述SpringMVC数据输出的方式

SpringMVC提供多种方式来输出数据,主要包括以下几种:

  1. ModelAndView:
    ModelAndView是SpringMVC中用于封装模型数据和视图信息的对象。Controller方法可以返回一个ModelAndView对象,其中包含了要传递给视图的模型数据和视图的逻辑名称。

    @Controller
    public class MyController {
        @RequestMapping("/example")
        public ModelAndView example() {
            ModelAndView modelAndView = new ModelAndView("exampleView");
            modelAndView.addObject("message", "Hello, SpringMVC!");
            return modelAndView;
        }
    }
    

    在上面的例子中,exampleView是视图的逻辑名称,而message是传递给视图的模型数据。

  2. @ResponseBody:
    使用@ResponseBody注解可以将方法的返回值直接作为HTTP响应的主体内容,通常用于返回JSON或XML格式的数据。

    @Controller
    public class MyController {
        @RequestMapping("/jsonExample")
        @ResponseBody
        public Map<String, String> jsonExample() {
            Map<String, String> data = new HashMap<>();
            data.put("message", "Hello, SpringMVC!");
            return data;
        }
    }
    

    在这个例子中,方法返回的Map对象会被自动转换为JSON格式并作为HTTP响应的主体内容。

  3. ViewResolver:
    在SpringMVC中,ViewResolver负责解析视图的逻辑名称并返回实际的视图对象。通过配置不同的ViewResolver,可以支持不同的视图解析方式,如JSP、Thymeleaf、FreeMarker等。

  4. HttpServletResponse:
    Controller方法可以直接操作HttpServletResponse对象,将数据写入响应流中。这种方式通常用于返回特定格式的数据,如文件下载等。

    @Controller
    public class MyController {
        @RequestMapping("/download")
        public void download(HttpServletResponse response) throws IOException {
            // 设置响应头信息
            response.setHeader("Content-Disposition", "attachment; filename=myfile.txt");
            response.setContentType("text/plain");
    
            // 写入响应流
            PrintWriter writer = response.getWriter();
            writer.write("File content...");
            writer.flush();
        }
    }
    

这些方式可以根据具体的需求选择合适的输出方式,SpringMVC提供了灵活的机制来支持不同类型的数据输出。

标签:输出,SpringMVC,Controller,视图,简述,ModelAndView,数据,public
From: https://www.cnblogs.com/LoveForeverIT/p/17894150.html

相关文章

  • js获取当前页面域名判断跳转网址输出不同内容
    js代码可以实现一些html语言无法实现的功能,比如通过js代码获取当前访问的域名。通过js代码判断当前访问域名可以进行跳转等功能。js获取当前页面域名判断跳转网址代码:<scripttype="text/javascript"> host=window.location.host;if(host=="www.adminwl.com") { window.loca......
  • 所有权成果输出(宗地基本信息表、界址标示表、界址签章表、界址点成果表、宗地图、界
    一、软件界面:二、软件功能:主要实现批量生成不动产权籍调查表、宗地基本信息表、界址标示表、界址签章表、界址点成果表、宗地图、界址说明表、调查审核表。(本次宗地包含内外环宗地)三、所有权成果要求(宗地基本信息表、界址标示表、界址签章表、界址点成果表、宗地图、界......
  • SpringMVC 中ModelAndView用法
    SpringMVC中ModelAndView用法ModelAndView作用1.返回到指定的页面ModelAndView构造方法可以指定返回的页面名称   例:returnnewModelAndView("redirect:/m07.jsp");通过setViewName()方法跳转到指定的页面   例:mav.setViewName("hello"); 2.返回参数到指定页面的request作用......
  • 计组复习(输入输出)
    目录前言IO接口编址统一编址单独编址IO操作的发展通过普通接口以立即程序传送方式以程序查询方式以中断方式中断向量中断过程中断允许位和优先级通过DMA预处理DMA请求DMA响应DMA传送结束处理通过通道通过IOP前言本文为JMU22级软件计组考前复习而总结归纳,吸收了课本上晦涩且长......
  • Java执行cmd命令.并打印输出. 解决中文乱码 .
    packageorg.example;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.nio.charset.Charset;publicclassMain{publicstaticvoidmain(String[]args){try{ProcessBuilder......
  • sql where 字段 = {} 输出全部行 {}内应该填什么?
    在SQL中,如果你想在WHERE子句中使用一个条件,但当这个条件为空时你又希望查询所有的行,你可以使用以下的方法²:SELECT*FROM表WHERE(字段=条件OR条件='')这条SQL语句的意思就是当条件不为空时,SQL语句等价于:SELECT*FROM表WHERE字段=条件当条件为空时,SQL语句等价于:SELE......
  • C++基础 -1- 标准输入输出
    ———————标准输入输出——————— ......
  • Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解
    Python提供了强大的输入输出和文件处理工具,通过io、pickle和json等模块,开发者可以轻松处理文件、序列化和反序列化数据,并在不同格式之间进行转换。在本文中,我们将深入介绍这些模块的用法和实际示例。1.io模块:强大的输入输出工具io模块提供了对文件I/O进行灵活处理的能力......
  • Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解
    Python提供了强大的输入输出和文件处理工具,通过io、pickle和json等模块,开发者可以轻松处理文件、序列化和反序列化数据,并在不同格式之间进行转换。在本文中,我们将深入介绍这些模块的用法和实际示例。1.io模块:强大的输入输出工具io模块提供了对文件I/O进行灵活处理的能力......
  • Java_1 变量、运算符、表达式、输入与输出
    1编写一个简单的Java程序–手速练习publicclassMain{publicstaticvoidmain(String[]args){System.out.println("HelloWorld");}}2语法基础2.1变量变量必须先定义,才可以使用。不能重名。变量定义的方式:publicclassMain{publicstat......