2012-12-08 74 views
1
<portlet:renderURL var="reportURL"> 
    <portlet:param name="jspPage" value="/htmlreport/report.html" /> 
</portlet:renderURL> 

以上是我的渲染portlet的网址。我的问题是如何能够改变的价值=“/ htmlreport/Report.htm1”进行动态?如何更改portlet:renderURL动态?

有没有办法做到这一点?

createRenderURL() { alert("hiiii"); AUI().ready('liferay-portlet-url', function(A) { alert("hiiii"); var renderURL = Liferay.PortletURL.createRenderURL(); renderURL .setParameter("jspPage","/htmlreport/report.html"); renderURL .setPortletId("eMenuAdvertise_WAR_eMenuAdvertiseportlet"); alert(renderURL.toString()); $("#mydiv").load(renderURL.toString()); alert(""); }); } 
+1

我有一些麻烦的了解,究竟你需要的。您可以添加参数到页面的上下文,并使用该参数是这样的:<门户:PARAM NAME =“jspPage”值=“$ {参数名称}” /> – semonte

+0

是什么在这种情况下,动态是什么意思?你能举一个例子说明URL何时和应该在哪里改变? –

+0

dynamaic意味着价值=“/ htmlreport/Report.htm1”进行中的HTML页面的路径永远不会到来static..it将产生按钮点击某些HTML页面的名字,我想与附加价值html页面的名称/ htmlreport /生成HTMLFILE命名 –

回答

4

,你可以使用Liferay的JavaScript函数,这样生成的renderURL:

AUI().use("liferay-portlet-url", function(a) { 
    var portletURL = Liferay.PortletURL.createRenderURL(); 
    var value = document.getElementById('page'); 
    portletURL.setParameter("jspPage", value); 
}); 
+0

我有这样做,因为我有在年底更新我的问题,请看看吧。但AUI()。就绪(“的Liferay的portlet的URL”,函数(A)这条线 –

+0

尽量把AUI.ready()的函数createRenderURL后外没有执行,直接在一个块 –

+0

但我AUI标签不工作我认为...我不知道why.but每当我运行这个portlet在我的自定义主题它不工作,但在liferay的经典主题其工作正常 –