我的任务是在刷新目标页面上制作一个portlet,而不刷新页面的其余部分,因为它可能会杀死我们的服务器。如果每次这些设置发生变化时整个页面都会刷新。购买新服务器或优化我们的设置目前不是一个选项。
答案 0 :(得分:2)
如果将portlet更改为Resource Serving Portlet,则可以使用serveResource方法和在调用时不刷新页面的resourceURL。
您还必须编写一个小JS来通过AJAX请求与resourceURL进行交互。
答案 1 :(得分:2)
您可以将Serve Resource方法用于此目的。请注意,此功能仅适用于JSR 286 Portlet。如果您仍在使用JSR 168,则此功能将无法使用。
如何实施:
添加portlet的服务资源URL - 使用OOB portlet标记。 portlet可以通过以下方式创建指向自身的资源URL:
通过调用RenderResponse对象或ResourceResponse对象的createResourceURL()方法 通过使用resourceURL标记(例如,portlet:resourceURL) 当最终用户调用这样的资源URL时,portlet容器调用portlet的serveResource()方法并呈现serveResource调用返回的内容。您还可以设置资源URL的资源ID,以使相同的serveResource()能够为多个资源提供服务。
serveResource方法还可以通过客户端JavaScript代码中的XMLHttpRequest(或XMLPortletRequest)调用资源URL来实现Ajax用例。可以通过AJAX调用刷新portlet的客户端代码。