2012-04-11 48 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