gpt4 book ai didi

spring - Spring Mvc中不同ViewResolver的使用

转载 作者:行者123 更新时间:2023-12-04 22:58:19 25 4
gpt4 key购买 nike

我是 spring-mvc 的初学者。在浏览 View 解析器时,我能够理解如何使用以下 View 解析器:

BeanNameViewResolver,InternalResourceViewResolver and UrlBasedViewResolver



我已经通过谷歌了解了但我仍然不清楚他们之间的优缺点。

应该如何决定何时使用哪个 View 解析器。

如果有人能帮助我理解这一点,那将是一个很大的帮助。

谢谢,

最佳答案

InternalResourceViewResolverUrlBasedViewResolver 的子类.
UrlBasedViewResolverInternalResourceViewResolver常用于 MVC 应用程序,其中 Controller 返回应呈现的 View 的名称。 Controller 返回 View 的逻辑名称,解析器通过添加一些前缀和后缀使其成为(jsp 的)文件名。例如: Controller 返回的逻辑 View 名称:main/example , 前缀:/WEB-INF/pages/ , 后缀:.jsp -> /WEB-INF/pages/main/example.jsp使用 Controller 提供的模型数据进行渲染

  • UrlBasedViewResolver需要一个 View 类(就像大多数其他 ViewResolver 一样)。 (非常简单: View 类负责渲染,而解析器负责选择正确的模板/...) UrlBasedViewResolver 中使用的 View 必须是 AbstractUrlBasedView 的子类.
  • InternalResourceViewResolverUrlBasedViewResolver 的方便子类默认已经是一个已配置的 View : InternalResourceView (或 JstlView 当 JSTL 存在时)。因此,当 JSP 用作模板引擎时,它是正确的解析器。

  • 还有其他 AbstractUrlBasedView实现,例如 JasperReports、Freemaker、Velocity、Tiles 等。它们中的大多数都有一个方便的子类 UrlBasedViewResolver也。
  • BeanNameViewResolver非常非常旧的解析器,来自旧的 Spring 2.0 时间。此时每个 Controller 都用于处理一个 URL。此时没有@RequestMapping注释,并且必须告诉 Spring 哪个 Controller 用于哪个 url。可以将它们全部列出,或者拥有这个 Resolver,它能够通过 Controller 名称映射 url->controller。由于 Spring 3.0(自 2.5 起更准确)和 Springs 注释支持,此解析器很少使用。
  • 关于spring - Spring Mvc中不同ViewResolver的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34698633/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com