查看技术
在 Spring MVC 中,视图的渲染是可插拔的。无论您决定使用 Thymeleaf、Groovy Markup Templates、JSP 还是其他技术,主要都是配置更改的问题。本章将介绍与 Spring MVC 集成的视图技术。
有关视图渲染的更多上下文,请参阅 视图解析。
Spring MVC 应用程序的视图存在于该应用程序的内部信任边界内。视图可以访问您应用程序上下文中的所有 bean。因此,不建议在模板可以被外部来源编辑的应用程序中使用 Spring MVC 的模板支持,因为这可能会带来安全隐患。
章节摘要
📄️ Thymeleaf
查看 Reactive 栈中的等效项
📄️ FreeMarker
在 Reactive 栈中查看等效内容
📄️ Groovy 标记
Groovy Markup 模板引擎主要用于生成 XML 类似的标记(XML、XHTML、HTML5 等),但您可以使用它生成任何基于文本的内容。Spring 框架内置了将 Spring MVC 与 Groovy Markup 集成的功能。
📄️ 脚本视图
在 Reactive 栈中查看等效内容
📄️ HTML 片段
在 Reactive 栈中查看等效项
📄️ JSP 和 JSTL
Spring 框架内置了将 Spring MVC 与 JSP 和 JSTL 集成的功能。
📄️ RSS 和 Atom
AbstractAtomFeedView 和 AbstractRssFeedView 都继承自 AbstractFeedView 基类,分别用于提供 Atom 和 RSS Feed 视图。它们基于 ROME 项目,位于包 org.springframework.web.servlet.view.feed 中。
📄️ PDF 和 Excel
Spring 提供了除了 HTML 以外的其他输出方式,包括 PDF 和 Excel 电子表格。本节将描述如何使用这些功能。
📄️ 杰克逊
在 Reactive 栈中查看等效项
📄️ XML 序列化
The MarshallingView 使用 XML Marshaller(在 org.springframework.oxm 包中定义)将响应内容呈现为 XML。您可以通过使用 MarshallingView 实例的 modelKey bean 属性显式设置要被 marshalled 的对象。或者,视图会遍历所有模型属性,并 marshals 第一个被 Marshaller 支持的类型。有关 org.springframework.oxm 包中功能的更多信息,请参见使用 O/X Mappers 进行 XML Marshalling。
📄️ XSLT 视图
XSLT 是一种用于 XML 的转换语言,并且在 Web 应用程序中作为视图技术非常流行。如果您的应用程序自然处理 XML,或者您的模型可以轻松转换为 XML,那么 XSLT 可以是一个很好的视图技术选择。以下部分展示了如何生成一个 XML 文档作为模型数据,并在 Spring Web MVC 应用程序中使用 XSLT 进行转换。