zoukankan      html  css  js  c++  java
  • SpringMVC的数据响应

    SpringMVC的数据响应方式主要有页面跳转和回写数据

    页面跳转:直接返回字符串

    即https://www.cnblogs.com/maomaodesu/p/12268886.html中主要介绍的方式。

    页面跳转:通过ModelAndView对象返回

    UserController类

    设置模型数据时往request域中存储数据,这样可以在转发到页面时通过EL获取数据

    默认转发到success.jsp

    UserController类的另一种方式

    功能上类似ModelAndView的有Model,Map,ModelMap,request(不推荐)等,使用方法一致,都是存储到request域,用哪个都行。

    success.jsp中使用EL表达式

    EL只能从域中取值,因此是从request中取得的数据

    效果:

    回写数据:直接返回字符串

    在没有SpringMVC时我们使用response对象,现在可以通过SpringMVC框架注入的response对象,使用response.getWriter().print("hello world")回写数据,此时不需要视图跳转,业务方法返回值是void,这种方式不通用。

    UserController类(使用response对象):

    现在的做法是需要返回字符串时,通过@ResponseBody告知SpringMVC框架

    UserController类(使用@ResponseBody注解):

    @ResponseBody

    标注在方法上,用于表示把该方法的返回值直接写回客户端

    标注在类上,相当于把该类的所有方法都标注了此注解

    @RestController相当于@Controller+@ResponseBody

    效果:

    发现是有乱码的,为什么SpringMVC会出现中文乱码,SpringMVC把字符串返回时默认情况下会走字符串Http消息转换器StringHttpMessageConverter,通过这个转换器把字符串转换成Http消息返回到浏览器。这个转换器中的默认字符集DEFAULT_CHARSET是ISO-8859-1是一个北欧的字符集,不包含中文,所以我们要更改它的字符集。因此我们在spring-mvc.xml的中设置我们将要使用到的消息转换器。

    conversionService自定义类型转换器

    自定义DateConverter类实现Converter接口

    在spring-mvc.xml里声明自定义的转换器,声明后默认的DateConverter就会被覆盖

    配置spring-mvc.xml来修正乱码:需要使用上面声明转换器conversionService

    回写数据:返回对象或集合(对象转成json字符串然后返回)

    SpringMVC默认会把对象自动转换为json字符串然后写回,底层默认使用Jackson作为转换器(这里就不配置了,用默认的)

    在pom.xml中引入jar包

    SpringMVC的注解驱动同时集成Jackson转换器,就不需要手动配置转换器了

    UserController类:

    结果:

  • 相关阅读:
    How To Scan QRCode For UWP (4)
    How To Crop Bitmap For UWP
    How To Scan QRCode For UWP (3)
    How To Scan QRCode For UWP (2)
    How To Scan QRCode For UWP (1)
    How to change windows applicatioin's position via Win32 API
    8 Ways to Become a Better Coder
    How to resize or create a thumbnail image from file stream on UWP
    C# winform压缩文件夹带进度条
    MS ACCESS MID函数
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/12283730.html
Copyright © 2011-2022 走看看