2012-12-08 77 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的經典主題其工作正常 –