java - Java Portlet 的优点和缺点?

标签 java evaluation portlet

我有一个项目,我的客户要求我使用 portlets 1.0 规范和 Websphere Portal Server 6.0。我以前没有使用过 portlet,但我听说过它们的评论总是很糟糕。除了明显的使用它们之外还有什么原因?如果不是原因,我可以用什么论据来避免它们?

最佳答案

作为从事过多项工作(包括我目前的工作)开发 Java portlet 的人,我会说不要使用它们。

问题是:

如果您只想使用所选门户的现有功能,请使用门户。

如果您使用 portlet 只是为了构建一个小型、轻便、主要是只读的基于 Web 的仪表板,您可以在其中快速查看不同的信息,那很好。

但是,如果您(或者更可能是组织结构图上更高层的人)认为 portlet 是一种将一堆不同的网络应用程序放在一个页面上并使其全部“正常工作”的方法,那么您将走向一个受伤的世界。 Portlet 是高度受限、独立的功能孤岛,而不是页面上小方 block 中的 Web 应用程序。

我的每一个基于 portlet 的工作都犯过这个错误,隧道尽头没有光明。作为 Portlet 开发人员,这里列出了您在常规 Web 应用程序中习惯做的事情的一小部分列表,但您不能在 Portlet 中可靠地做这些事情:

  • 生成其他页面的 URL。您需要一种特定于供应商的方法来执行此操作,因为 Portlet API 只允许您生成以生成它们的 portlet 为目标的 URL。
  • 读取和设置 HTTP header 或设置 HTTP 响应代码(因此没有重定向或 HTTP 缓存,因为您不拥有您的 portlet 将放置在的页面)
  • 必须在生成的页面中命名所有标识符。这意味着 HTML id 属性和 JavaScript 函数名称。由于命名空间必须在运行时确定以确保唯一性,因此您不能让这些 Javascript 函数驻留在单独的浏览器可缓存文件中,它们必须位于您的 portlet 的响应主体中。

Portlet 感觉就像是为 90 年代中后期(AJAX 之前)的 Web 开发状态而设计的。但它们不适合当今假设您可以完全控制请求/响应周期的 Web 开发环境(AJAX、单页富 Web 应用程序等)。

关于java - Java Portlet 的优点和缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1146812/

相关文章:

java - ANTLR4 验证用户定义类型匹配

java - 一段时间后停止线程

java - 使用 Apache POI 设置 PowerPoint 文档中圆角矩形的半径

基于票数和 5 星评级的对象评级算法

json - 在portlet中用json对象响应http请求

javascript - 如何在 Liferay Portlet 类中使用 javascript 警报框?

java - 如何在 liferay 门户中显示错误消息?

java - 无法迭代包含链接 HashMap 的数组列表

prolog - 控制 Prolog 变量值选择

macros - 构建评估的评估是否等于宏观?