gpt4 book ai didi

liferay - liferay 6.2 中设置参数和设置属性有什么区别?

转载 作者:行者123 更新时间:2023-12-04 02:08:52 25 4
gpt4 key购买 nike

我很困惑什么时候该用什么,使用这些参数的优点和缺点是什么。

谁能帮我澄清一下?

最佳答案

所以你的问题是

Liferay 6.2 中 actionRequest.setParameter(...)actionRequest.setAttribute(...) 有什么区别?

这道题还是答错了,原因有二

  1. ActionRequest不是 Liferay 特定的东西。它是任何门户都需要实现的 portlet API 的一部分。
  2. ActionRequest 中没有setParameter(...)方法

我猜你想问的是

Portal API 上下文中的参数和属性有什么区别?

  • parameters 是客户端发送给 portlet 的东西。它们通常作为 URL 的一部分出现(如果是 GET HTTP 方法,则在 ? 符号之后)或包含在 HTTP 请求中(如果是 POST HTTP 方法)。您可以在 portlet 中使用 getParameter(...) 方法来读取客户端发送给 portlet 的参数值。使用 setParameter(...) 方法毫无意义,因为您的 portlet 是这些参数的最终接收者。

  • 属性 是您在当前操作请求的上下文中存储和读取数据的方式。如果您的 portlet 调用其他类,它可以为它们准备一些数据并通过 setAttribute(...) 方法将其存储在请求范围内。这些类稍后可以通过 getAttribute(...) 读取该数据并自行存储数据以供稍后由 portlet 读取。一旦请求被处理,请求范围就消失了。

起初可能会混淆的一件事是 actionResponse.setRenderParameter(...) 方法。请注意这是Response而不是Request!

actionRequest.setAttribute(...)actionResponse.setRenderParameter(...) 有什么区别?

要回答这个问题,您需要了解 portlet 的工作原理。客户端通过 portlet 容器与 portlet 交互。当他们发送操作请求说 portlet P 时,他们通过容器发送它。然后容器

  • 发送 Action 请求到 portlet P
  • P 响应时,向该页面上的每个 portlet 发送 Render 请求,包括 P

所以 P 从容器中为每个客户端请求重新接收两个请求(一个 Action 和一个 Render)。 actionResponse.setRenderParameter(...) 在操作请求期间使用,以告知 containr 将此参数与即将到来的渲染请求一起传递。这是将信息从 Action 传递到渲染阶段的基本方式。

关于liferay - liferay 6.2 中设置参数和设置属性有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40762224/

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