4

我需要table在页面上刷新一个而不重新加载整个页面。有谁知道这样做的好方法?

我用一个表创建了一个单独的jspf页面,并通过 Ajax 请求 > 呈现它<portlet:renderURL,但该页面包装在默认的 liferay 主题中。有没有其他方法可以在没有主题的情况下获取页面日期?

<portlet:renderURL var="testURL">
    <portlet:param name="jspPage" value="/jspf/test.jspf" />
</portlet:renderURL>

<script>
$("#test-button").click(function() {
    $("#test-table").load("<%= testURL %>");
})
</script>
4

1 回答 1

3

要在 Liferay-MVC 中使用 Ajax,您应该创建一个resourceURL链接并serveResource在 Portlet 类中的方法中处理它。

<portlet:resourceURL var="testURL">
    <portlet:param name="pageAddress" value="/jspf/test.jspf" />
</portlet:resourceURL>

<script>
$("#test-button").click(function() {
    $("#test-table").load("<%= testURL %>");
})
</script>

那么您应该在serveResource您的 portlet 类的 Method 中提供正确的结果。此外,您可以使用resourceRequestObject获取参数(pageAddress)

String pageAddress = resourceRequest.getParameter("pageAddress");
于 2013-01-13T08:51:11.323 回答