从AJAX Servlet生成Portlet URL

时间:2010-02-08 16:10:32

标签: java ajax portlet

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

以下是我目前如何为表格中的每一行创建网址:

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

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

我的问题是我如何在servlet中模仿上面的JSP代码来生成正确的portlet URL?!?!我对portlet有点新意,他们的URL似乎是一连串的乱码乱七八糟。

1 个答案:

答案 0 :(得分:1)

看看this JSP page的一个例子,说明如何做到这一点 - 无论如何,这是一个好方法。查看页面顶部附近editPortletUrl的定义,然后查看以后如何使用它。

URL中嵌入了PORTLETID标记,后来由JS替换为实际值。

此portlet使用Fluid Infusion,我建议将其用于基于jQuery的强大,可访问,高阶小部件。

Brian说

感谢您的想法。我尝试做你所拥有的但我没有看到JS如何能够为占位符提供真正的ID。使用renderURL我在JS中得到了这个:

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

来自Drew Wills的更新

你能告诉我你的标签吗?