WEB开发网
开发学院软件开发Java 结合使用 Ajax 和 WebSphere Portal 阅读

结合使用 Ajax 和 WebSphere Portal

 2009-11-04 00:00:00 来源:WEB开发网   
核心提示: 状态维护 在门户中使用 Ajax 调用时,您容易遇到的缺陷是缺乏内在的状态管理,结合使用 Ajax 和 WebSphere Portal(7),没有什么可以让用户停止在 Portlet 中执行可能导致页面刷新的操作,您需要确保能够重启任何 Ajax 活动,我们将向您展示如何将各部分组合在一起,以

状态维护

在门户中使用 Ajax 调用时,您容易遇到的缺陷是缺乏内在的状态管理。没有什么可以让用户停止在 Portlet 中执行可能导致页面刷新的操作。您需要确保能够重启任何 Ajax 活动,而不依赖于以前的任何状态。尽管能够对 Servlet 使用 Cookies 或 Ajax 调用来检查和存储状态消息,但是要避免依赖于页面的状态。使所有的 Ajax 调用变成原子的。

容易让您失败的另一个状态问题是后退按钮和书签标记的 URL。通常,避免基于 Ajax 的主要状态更改。将它保留到真正的门户 actionPerformed() 调用。

共享会话数据

当您将 Servlet 与门户应用程序捆绑在一起时,您可以在 Servlet 和 Portlet 之间共享会话数据。通常,在共享会话数据时,您希望使用应用程序范围。对于 Servlet,这是正常的会话范围。从 Servlet 访问 Portlet 范围变量需要一个已设置命名空间的特殊名称值,该值基于最初将其部署到门户时设置的 Portlet 的 ID。在部署过程中提取此值非常困难。尽管大多数理论认为,Portlet 范围变量的语法是:

javax.portlet.p.<ID>?<NAME>

其中:

<ID> 是 Portlet 的唯一标识

<NAME> 用于在 Portlet 会话中设置对象的名称。

Action URL

在使用 Ajax 时,处理 Action URL 会非常麻烦。通常您不应在共享的会话中尝试存储 Action URL,因为它们仅对当前的 doView() 有效。尝试使用在会话(来自先前的 doView() 周期)中存储的 ActionURL 将导致不可预期的结果。

您需要将 Action URL 存储到会话的例子是 Ajax 驱动的分页数据表,它包含 Action URL 链接作为数据集的一部分。当用户单击 Next,浏览器会生成一个对 Servlet 的 Ajax 调用。然后,Servlet 从会话中提取下一页数据,并且它必须具有预定义的 Action URL。只需确保 doView() 调用在任何时间都能够处理,存放任何 Action URL 的任何会话数据都能够重新生成。

活动通知

由于聚合的许多信息都被填充到单个页面,所以门户页面通常非常繁忙。因为 Ajax 调用是在后台执行的,并且它们不能触发浏览器上的活动图标,所以您需要提供一致的可视机制来通知用户继续完成某事。否则,他们会感到困惑,不知道应用程序正忙着处理什么操作。(我们的确不希望用户困惑。)

您可以在活动过程中使用浮点 DIV 部分显示或使用浏览器状态栏上的简单消息实现此通知(不过,有些人认为这不是好的形式)。您也可以集成自定义主题扩展,它会在页面上显示任何启用 Ajax 的 Portlet 的一般 Please Wait 消息。

结束语

在本文中,我们描述了在门户应用程序中使用 Ajax 的方式和原因。在未来的相关教程中,我们将向您展示如何将各部分组合在一起,以获得支持 Ajax 的数据库管理工具。请继续关注。

上一页  2 3 4 5 6 7 

Tags:结合 使用 Ajax

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接