2012-04-11 51 views
0

我正在使用Liferay 6。Liferay 6:portlet:renderURL不重定向

當我portlet添加到頁面,該頁面中示出第一

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> 

<portlet:defineObjects /> 

<portlet:renderURL var="homeurl"> 
<portlet:param name="jspPage" value="/WEB-INF/jsp/view1.jsp" /> 
</portlet:renderURL> 

<portlet:renderURL var="homeurl2"> 
<portlet:param name="jspPage" value="/WEB-INF/jsp/view2.jsp" /> 
</portlet:renderURL> 

<portlet:renderURL var="testUpdateURL"> 
<portlet:param name="jspPage" value="/WEB-INF/jsp/view3.jsp" /> 
</portlet:renderURL> 

<p><a href="<%=homeurl%>" > 
1. Go home 
</a></p> 

<p><a href="<%=homeurl2%>" > 
2. Go home 2 
</a></p> 

<p><a href="<%=testUpdateURL%>" > 
3. TestUpdate 
</a></p> 

這是view1.jsp

這是廠景門戶。

類似的是JSP頁面,view2.jsp和view3.jsp存在

但是,當我在任何顯示的,什麼也沒發生的hyperlik的點擊,同樣被再次顯示。

回答

0

該代碼正是它應該是。

它們必須是你的控制器中的東西,如果你沒有在控制器中設置jspPage參數,請檢查一次。

0

只是將所有JSP頁面中DOCROOT目錄,並使用

`<portlet:renderURL var="homeurl2"> 
     <portlet:param name="jspPage" value="/view2.jsp" /> 
</portlet:renderURL>` 

Thish爲我工作,我希望它會解決這個問題:)

0

我不是在Liferay的很好,但我從事同樣的事情。 假設我們創建了一個簡單的portlet,其中我們給出了包名稱,假設com.portl.asif。 現在默認我們的view.jsp位置是/docroot/html/asif/view.jsp。所以我認爲這是我們通常創建其他jsps的地方。讓我們假設我在同一個目錄asif中創建了另一個jsp say fill.jsp,所以它的路徑/docroot/html/asif/view.jsp 現在如果您想通過另一個jsp頁面調用該jsp,則使用下面的代碼我

 <portlet:renderURLvar="viewEmployeeDataURL">  <!-- to redirect to another jsp page --> 
     <portlet:param name="jspPage" value="/html/asif/second.jsp" /> 
     </portlet:renderURL> 

這裏second.jsp是我想從我目前的jsp頁面

希望瀏覽的頁面,這將對於你

 <a href="<%=viewEmployeeDataURL%>" />  

如果進一步面或上述工作會不適合你,那麼請讓我知道

謝謝 asif aftab