视图技术
在Spring MVC中,视图的渲染是可插拔的。无论你决定使用Thymeleaf、Groovy Markup Templates、JSP还是其他技术,主要只需要进行配置上的调整即可。本章将介绍与Spring MVC集成的各种视图技术。
有关视图渲染的更多信息,请参阅视图分辨率。
Spring MVC 应用程序的视图位于该应用程序的内部信任边界内。视图可以访问应用程序上下文中的所有 Bean。因此,在那些模板可以被外部来源编辑的应用程序中,不建议使用 Spring MVC 的模板支持,因为这可能会带来安全风险。
部分总结
📄️ Thymeleaf
在Reactive栈中可找到等效的实现。
📄️ FreeMarker
在Reactive栈中可找到等效的实现。
📄️ Groovy 标记
Groovy标记模板引擎主要用于生成类似XML的标记(XML、XHTML、HTML5等),但您也可以使用它来生成任何基于文本的内容。Spring框架内置了与Groovy标记结合使用的集成功能,以便与Spring MVC一起使用。
📄️ 脚本视图
在Reactive栈中可找到等效的实现。
📄️ HTML片段
在Reactive栈中可找到等效的实现。
📄️ JSP(Java Server Pages)和JSTL(Java Standard Template Library)是Java Web开发中常用的两种技术。JSP是一种基于Java的服务器端技术,它允许开发者直接在HTML页面中编写Java代码,从而实现动态内容的生成。通过JSP,开发者可以结合HTML、CSS和Java代码来创建交互式Web应用程序。JSP的主要优点是简洁性,它使得开发者能够更容易地编写服务器端的逻辑。JSTL则是Java标准模板库,它提供了一组预定义的标签,用于简化HTML页面中模板代码的编写。使用JSTL,开发者可以避免在HTML页面中直接编写复杂的逻辑代码,而是将逻辑代码放在JSTL标签中。这样可以提高代码的可读性和可维护性,同时也有助于分离页面结构和业务逻辑。在Java Web开发中,通常会结合使用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序列化
MarshallingView 使用一个 XML Marshaller(定义在 org.springframework.oxm 包中)将响应内容渲染为 XML 格式。你可以通过使用 MarshallingView 实例的 modelKey bean 属性来显式设置要序列化的对象。或者,该视图会遍历所有模型属性,并序列化 Marshaller 支持的第一个类型。有关 org.springframework.oxm 包中功能的更多信息,请参阅“使用 O/X Mappers 序列化 XML”。
📄️ XSLT视图
XSLT是一种用于XML的转换语言,在Web应用程序中作为视图技术非常流行。如果你的应用程序自然地处理XML,或者如果你的模型可以很容易地转换为XML,那么XSLT可以作为一个很好的视图技术选择。以下部分将展示如何在Spring Web MVC应用程序中将模型数据生成为XML文档,并使用XSLT对其进行转换。