springboot (4-16 模板引擎、jsckson笔记)

视图技术(模板引擎)

  • FreeMaker
  • Groovy
  • Thymeleaf
  • Mustache
  • Beetl
  • Velocity
    重定向前缀
  • Redirect
    在Controller里使用,可以在指定方法中跳转到其他地址;
    例如:return “redirect:/ndex”
  • Forward
    在Controller里使用,可以在指定方法中继续调用其他Controller方法;
    例如:return “forward:index”
    Redirect与Forward的区别

一、数据共享方面
forward:转发页面和转发到的页面可以共享request里面的数据
redirect:不能共享数据
二、地址栏显示方面
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个UR绿的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容从哪里来的,所以他的地址栏还是原来的地址。
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器冲新区请求那个地址,所以地址栏显示的是新的URL.

Jackson

  • 通过树遍历解析JSON
    树遍历:
    springboot (4-16 模板引擎、jsckson笔记)_第1张图片
    树遍历相关

  • 可以处理的数据:
    字符串、字节数组、文件、InputSteam等
    放回JsonNode为根节点,可以像操作XML Dom那样操作遍历JsonNode以获取数据。

  • 获取数据的方法‘’
    asXXX:获取指定类型值,比如asText\asBoolean\asInt等
    isArray:判断JsonNode是否为数组。如果是,可以调用get(i)进行遍历,通过size()获取长度;
    get(String):获取当前节点的子节点。

  • 通过对象绑定解析JSON
    对象绑定:springboot (4-16 模板引擎、jsckson笔记)_第2张图片

  • 通过流式操作解析JSON
    流式解析JSON:
    springboot (4-16 模板引擎、jsckson笔记)_第3张图片
    流式生成JSON:
    springboot (4-16 模板引擎、jsckson笔记)_第4张图片

  • 常用注解
    Jackson注释:

  • @JsonProperty用于为JSON Key指定别名
    如:@JsonProperty(“userName”)

  • @Jsonlgnore用于忽略指定属性

  • @JsonlgnoreProperties用于在类上忽略一组属性
    如:@JsonlgnoreProperties({“remark”,“photo”})

  • @JsonAnySetter用于标记在方法上,接收key和value参数,在找不到对应的属性时调用此方法;

  • @JsonAnyGetter用于标记在返回Map的方法上,Jackson会取出Map序列化

  • @JsonFormat用于对日期格式化
    如:@JsonFormat(pattern=“yyyy-MM-dd HH;mm;ss”)

  • 集合反序列化

  1. 使用@RequestBodey注释的参数进行序列化
  2. 直接在方法中对包含集合的json字符串进行

你可能感兴趣的:(springboot (4-16 模板引擎、jsckson笔记))