我想在liferay上动态加载页面。现在我有jsp与renderURL和div:
<div id="sub_content2"></div>
<portlet:renderURL var="displayOtherDocumentURL1">
<portlet:param name="action" value="displayOtherDocument" />
<portlet:param name="activeTab" value="2" />
<portlet:param name="activeVerticalTab" value="6" />
</portlet:renderURL>
<aui:script>
$(document).ready(function() {
//alert('1231');
//$("#sub_content").load("displayEditSchoolEducation");
//alert('11');
$("#sub_conten2").load("${displayOtherDocumentURL1}");
alert('aaa');
})
在控制器中我有这个方法:
@RenderMapping(params = "action=displayOtherDocument")
public String displayOtherDocument(final RenderRequest request, final RenderResponse response,
final ModelMap modelMap) throws PortalException, SystemException {}
通常一切正常。但动态加载不是:(帮助!Hilfe!Na pomoc!
答案 0 :(得分:0)
为了加载ajax,你应该创建一个ResourceMapping而不是RenderMapping。
答案 1 :(得分:0)
在我看来你错过了jsp的名字
<portlet:renderURL var="displayOtherDocumentURL1">
<portlet:param name="jspPage" value="/jsp/new_page.jsp"/>
</portlet:renderURL>
然后
$("#sub_conten2").load("${displayOtherDocumentURL1}");
应该有效。如果您想使用资源而不是有意义,如果您没有进行任何jsp预处理,那么您必须打开文件并发送整个文件。
答案 2 :(得分:0)
我找到了解决方案:
<portlet:resourceURL var="displayOtherDocumentURL" id="displayOtherDocument"></portlet:resourceURL>
-
$("#displayOtherDocumentDIV").load("${displayOtherDocumentURL}");
-
@ResourceMapping(value = "displayOtherDocument")
public ModelAndView displayOtherDocument(final ResourceRequest request) throws PortalException, SystemException {
final ModelAndView modelAndView = new ModelAndView("components/otherDocumentForm", model);
return modelAndView;
}
简单,有效;)