gpt4 book ai didi

spring-mvc - org.springframework.web.servlet.ModelAndView 与 org.springframework.web.portlet.ModelAndView 有什么区别

转载 作者:行者123 更新时间:2023-12-01 13:51:36 27 4
gpt4 key购买 nike

谁能说出两者的区别

org.springframework.web.servlet.ModelAndView

org.springframework.web.portlet.ModelAndView

两个 ModelAndViews 都有几乎相同的方法。需要注意的一个显着差异是,当我将对象添加到 org.springframework.web.portlet.ModelAndView 时,该对象无法到达 View 。在 View 中添加的对象是 null。你们知道其他显着差异吗??!!请在此处添加您的信息:)

一般来说,这个问题也可以用来找出不同之处

org.springframework.web.servlet.*;
org.springframework.web.portlet.*;

最佳答案

嗯,它们完全相似,除了 *.servlet.* 类是为基于 servlet 的经典 Web 应用程序量身定制的,而 *.portlet.* 类是专为 JSR-168 portlet 量身定制。

这是 Spring 深思熟虑的选择:尽可能地,Portlet MVC 框架是 Web MVC 框架的镜像,并且也使用相同的底层 View 抽象和集成技术

但是 portlet 与 servlet 有很大的不同。您可以在 JSR-168 上找到引用资料以及关于 What Is a Portlet - O'Reilly Media 的精彩介绍.以下是后者的一些摘录:

Portlet 是 Web 组件(如 servlet),专门设计用于在复合页面的上下文中进行聚合。通常,在门户页面的单个请求中调用许多 portlet。每个 portlet 都会生成一个标记片段,该标记片段与其他 portlet 的标记相结合,都在门户页面标记内。

[针对不同应用程序的 Windows] 是相互独立开发的。新闻 portlet 的开发人员将创建一个应用程序并将其打包到一个 .war 文件中。然后门户服务器的管理员将在服务器上安装这个.war 文件并创建一个页面。在下一阶段,每个用户都将在他的页面上选择他想要的应用程序。

因此,Spring portlet 类与 portlet 类非常不同,即使它们呈现相同的接口(interface)。 Portlet 工作流与 Servlet 工作流的主要区别在于,对 Portlet 的请求可以有两个不同的阶段:操作阶段和呈现阶段。操作阶段只执行一次,并且是任何后端更改或操作发生的地方,例如在数据库中进行更改。然后,渲染阶段会在每次刷新显示时生成向用户显示的内容。

TL/DR :所以 *portlet* 类专门设计用于向开发人员提供类似的接口(interface)(与 *servlet* 相同)但在必须在经典(servlet)SpringMVC 应用程序中使用。

关于spring-mvc - org.springframework.web.servlet.ModelAndView 与 org.springframework.web.portlet.ModelAndView 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31227339/

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