使用standard taglib创建URL:
<%@ taglib uri=“http://java.sun.com/portlet_2_0” prefix=“portlet” %>
Render URL :
<portlet:renderURL var=“simpleDialogIframeExample”
windowState="<%=LiferayWindowState.POP_UP.toString()%>">
<portlet:param name=“mvcPath”
value="/html/alloyuidialog/iframe_alloyui_dialog_example.jsp"/>
</portlet:renderURL>
var : 可以用这个名称来引用URL
Window state: Normal. Maximized ,Minimized h和 Pop_up.
portlet mode : view, edit, help和print
copyCurrentRenderParameters: 是否要复制所有渲染参数
使用portlet:param/用于添加更多参数或自定义参数
创建的URL例子
http://localhost:8080/web/guest/who-is-using-liferay?p_p_id=alloyuidialog_WAR_LiferayAlloyUIDialogportlet&
p_p_lifecycle=0&p_p_state=
normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=1
&_alloyuidialog_WAR_LiferayAlloyUIDialogportlet_mvcPath=
%2Fhtml%2Falloyuidialog%2Fsimple_alloyui_dialog.jsp
p_p_id: 当前portlet id
p_p_state: window sate
p_p_mode: portlet mode
p_p_lifecycle: life cycle of portlet 0-Render/1-Action/2-ServeResource
使用liferay taglib创建URL
标准tag library和liferay tag library的区别是我们也可以为其他portlet创建URL。
<liferay-portlet:renderURL portletName=“47” var=“openPortletURL”
plid="<%=themeDisplay.getPlid()%>" varImpl=“openPortletURL”
windowState="<%=LiferayWindowState.POP_UP.toString()%>">
</liferay-portlet:renderURL>
重要属性:
portletName: 要创建URL的portlet的名称.
plid : portlet所在的页面,布局id
var : 用来引用URL的变量名
Window state: liferay window state.Normal. maximized, minimized and pop_up.
Portlet Mode: mode of portlet view or edit
copyCurrentRenderParameters: 是否希望复制所有渲染参数,为true时,在整个请求周期中可用
使用liferay-portlet:param/标签将自定义参数传递到此URL。
如果没有传递portletName和plid,URL将为当前portlet创建。
从renderResponse对象创建
我们可以从render response对象创建url,这是一个隐式变量,可以直接使用。为了使其可用,我们需要在jsp页面中添加以下tag,然后在jsp页面中使用renderResponse对象
<%@ taglib uri=“http://java.sun.com/portlet_2_0” prefix=“portlet” %>
<portlet:defineObjects />
Render URL例子
<%@ taglib uri=“http://java.sun.com/portlet_2_0” prefix=“portlet” %>
<portlet:defineObjects />
<%@page import=“javax.portlet.PortletURL”%>
<% PortletURL myRenderURL=renderResponse.createRenderURL();
myRenderURL.setWindowState(LiferayWindowState.MINIMIZED);
myRenderURL.setParameter(“name”, “meera”); %>