我需要在页面上刷新一个table
而不重新加载整页。有没有人知道这样做的好方法?
我创建了一个带有一个表的jspf
页面,并通过Ajax请求<portlet:renderURL
&gt;进行渲染,但该页面包含在默认的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>
答案 0 :(得分:2)
要在Liferay-MVC中使用Ajax,您应该创建一个resourceURL
链接并在Portlet类的serveResource
方法中处理它。
<portlet:resourceURL var="testURL">
<portlet:param name="pageAddress" value="/jspf/test.jspf" />
</portlet:resourceURL>
<script>
$("#test-button").click(function() {
$("#test-table").load("<%= testURL %>");
})
</script>
然后你应该在你的portlet类的serveResource
方法中提供正确的结果。
此外,您可以使用resourceRequest
对象
String pageAddress = resourceRequest.getParameter("pageAddress");