我需要在页面上刷新一个表而不重新加载整页.有谁知道这样做的好方法?
我创建了一个带有一个表的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>
最佳答案 要在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对象获取参数(pageAddress)
String pageAddress = resourceRequest.getParameter("pageAddress");