2

我正在尝试修改 portlet 以通过 AJAX 为表加载数据,因为 WS 调用需要花费大量时间才能完成。该表基本上是一个概览,每个表行有一个条目,每行中都有一个链接,指向有关该条目的更详细信息。

以下是我当前为表中的每一行创建 URL 的方式:

<portlet:renderURL portletMode="VIEW" windowState="maximized" var="showURL">
    <portlet:param name="id" value="${entry.ID}"/>
</portlet:renderURL>

我创建了一个 AJAX servlet 来接收 AJAX 调用并返回 JSON,该 JSON 将使用 jQuery 回调动态添加到表中。servlet 工作正常,行被添加到表中,没有真正的问题。我目前遇到的问题是应该在表格中的链接。

我的问题是如何在 servlet 中模仿上述 JSP 代码来生成正确的 portlet URL?!?!我对portlet 有点陌生,它们的URL 对我来说似乎是一团乱七八糟的乱码。

4

1 回答 1

1

看一下这个 JSP 页面,以了解如何做到这一点的示例——无论如何,这是一种很好的方法。查看editPortletUrl页面顶部附近的定义,然后查看它的使用方式。

URL 中嵌入了一个PORTLETID令牌,后来被 JS 替换为一个真实的值。

这个 portlet 使用Fluid Infusion,我强烈推荐它用于基于 jQuery 的强大、可访问的高阶小部件。

布赖恩 说

谢谢你的主意。我尝试做你所拥有的,但我不知道 JS 将如何为占位符替换真实 ID。使用 renderURL 我在 JS 中得到了这个:

var baseShowUrl = "/wps/myportal/portalname/!ut/p/c5/hY7NCoJAFEafpSe4X_Pf0hJ0Sied6M9NCEVIWS2ioqdvwo2b6H7LczhcqijsUj-aY31vrpf6TFuq9C52yJ32DAZCworYz_V0DIDRqq1fTdu8D_tOFUra0oqgZoKD-VLabBpzQPXVDVWqV9UjE6qFzGcmD1XQ-vtHz0jSQgVjmXnr5xxm2HH8uAgdnyRRKnQGJJpJMCcXLI9WSLj6wwW59Noe6NYafjr59BkNBh8sH-CA/dl3/d3/L0lDU0NsQ1FvS1VRIS9JSFNBQ0l3a1FBd3FibTZtLzRDMWI5WUF4RW1TUVVnZyEvN19ETjBNTjdSMjA4MDQ1MEk0RFJPN0pCMDAwMi92aWV3L0NPTlRSQUNUSUQ!/";

来自德鲁遗嘱的更新

你能告诉我你的或标签吗?

于 2010-02-08T16:18:42.037 回答