视图和内容协商

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视图和内容协商相关的知识,希望对你有一定的参考价值。

如果想要在控制其中使用无扩展名的URL,例如welcome而不是带扩展名的URL,如welcome.html或者welcome.jsp,

这时希望设计一个策略,能够根据扩展名返回正确的内容和类型。

解决方案

当web应用接受一个请求的时候,请求包含一系列属性(果然请求不纯洁啊),让处理框架能够确定返回给请求方的正确内容和类型。

这种属性有:

请求中提供的URL扩展名

HTTP Accept头标(头标是什么鬼)

Spirng MVC通过ContentNegotiatingViewResolver解析器支持头标的检查,使可以根据URL文件扩展名或者HTTPAccept头标至作出视图委派。

 

(又是解析器,刚刚好像也有个解析器)

内容协商视图解析器

依靠Spring表达式语言(SpEL)指定优先顺序。

 

HTTP Accept头标包含类似:Accept:text/html或Accept:application/pdf这样的值,加入请求URL中不存在扩展名,这些值帮助解析器确定请求者预期的媒体类型。

以上是关于视图和内容协商的主要内容,如果未能解决你的问题,请参考以下文章

内容协商与转码

SpringBoot 一篇搞定(Cookie Session 跳转 内容协商 converter解析器 thymeleaf)

SpringBoot/Kotlin 和通过内容协商进行版本控制:正确的方法?

SpringMVC笔记-内容协商原理浅析

SpringMVC笔记-内容协商原理浅析

SpringMVC笔记-内容协商原理浅析