如何刷新 IBM Websphere Portal 7.0 中的单个 portlet

How to refresh a single portlet in IBM Websphere Portal 7.0

我的任务是在我们的登录页面上刷新一个 portlet,而不刷新页面的其余部分,因为它可能会杀死我们的服务器。如果每次都刷新整个页面,这些设置就会改变。购买新服务器或优化我们的设置目前不是一个选项。

如果将 portlet 更改为资源服务 Portlet,则可以使用 serveResource 方法和调用时不刷新页面的 resourceURL。

您还必须编写一些 JS 以通过 AJAX 请求与 resourceURL 交互。

您可以为此目的使用服务资源方法。请注意,此功能仅适用于 JSR 286 Portlet。如果您仍在使用 JSR 168,则此功能将不可用。

实现方式:

添加 Portlet 的服务资源 URL - 使用 OOB Portlet 标记。 Portlet 可以通过以下方式创建资源 URLs 指向自身:

通过调用RenderResponse对象或ResourceResponse对象的createResourceURL()方法 通过使用 resourceURL 标签(例如,portlet:resourceURL) 当最终用户调用此类资源时 URL,Portlet 容器调用 Portlet 的 serveResource() 方法并呈现 serveResource 调用返回的内容。您还可以设置资源的资源 ID URL 以启用同一个 serveResource() 来为多个资源提供服务。

serveResource 方法也可用于通过客户端 JavaScript 代码中的 XMLHttpRequest(或 XMLPortletRequest)调用资源 URL 来实现 Ajax 用例。可以通过 AJAX 调用刷新 portlet 的客户端代码。