使用 JavaServer Pages 的 Portlet 聚集
聚集标记库生成 Portlet 聚集框架,以解析一个页面上的一个或多个 portlet。如果编写 JavaServer Pages,可使用聚集标记库来聚集一个页面上的多个 portlet。此标记库不提供实现完整功能的门户聚集,但会提供良好的迁移方案(如果您已经聚集 Servlet 和 JavaServer Pages 并且想要切换至 portlet)。
要允许客户创建简单门户聚集,聚集标记库还应提供下列功能。
- 调用 Portlet 的操作方法
- 在一个页面上呈示多个 portlet
- 提供用于更改 Portlet 的方式或窗口状态的链接
- 显示 Portlet 的标题
- 保留 Portlet cookie 状态
聚集标记库和使用聚集标记库的 JavaServer Pages 将仅使用 WebSphere® Application Server Portlet 容器实现,原因是标记和容器之间的协议不是标准化协议。
下图说明 HTML 页面的外观及用于创建该页面的标记。
有关聚集标记库属性的信息,请参阅“聚集标记库属性”一文。
在使用聚集标记库时,必须将 init 标记的 portletUrlPrefix 属性设置为聚集应用程序。您需要:
- 确保 portletUrlPrefix 属性在聚集程序页面中设置为:
"http://" + <server_address> + ":" + <server_port> + "/" + <aggregator context> + "/" <aggregator mapping>
- 在 web.xml 文件通过以 /* 结尾的 Servlet 映射引用聚集 JSP 页面。例如,/aggregation/*
当在单个页面上聚集多个 Portlet 时,必须注意 Portlet 中的表单属性名称的命名约定。因为 Portlet 全部在同一页面中,所以它们共享同一 HttpServletRequest。查看一个 Portlet 时,将刷新整个页面并重新公布表单数据。因此,如果具有相同表单属性名称的多个 Portlet 聚集在单个页面上,那么在重新公布表单数据时会出现逻辑冲突。