创建portlet url时在开始标记中指定plid有什么区别
<liferay-portlet:renderURL var="myurl" windowState="normal" plid="123456">
<liferay-portlet:param name="struts.portlet.action" value='/view/myAction' />
</liferay-portlet:renderURL>
并将其作为参数传递
<liferay-portlet:renderURL var="myurl" windowState="normal">
<liferay-portlet:param name="struts.portlet.action" value='/view/myAction' />
<liferay-portlet:param name="plid" value='123456' />
</liferay-portlet:renderURL>
当plid不存在时,我得到不同的错误消息,所以我在徘徊,差异是什么
答案 0 :(得分:2)
问:创建portlet网址时在开始标记中指定plid并将其作为参数传递有什么区别
主要区别在于:
如果my-portlet
内的 tag-attribute-plid 使用如下:
<liferay-portlet:renderURL var="myurl" windowState="normal" plid="123456">
<liferay-portlet:param name="struts.portlet.action" value='/view/myAction' />
</liferay-portlet:renderURL>
如果要在page-x上构建URL以转到另一个页面-y。假设您在页面上:Home
并且您要转到Help
页面或Control Panel
,然后在plid
属性中通过pild
Help
的{{1}}页面或plid
。
因此,如果我传递控制面板的plid,那么最终的URL将类似于:
http://mylocalhost.com的 /组/ CONTROL_PANEL /管理强> p_p_auth = 1g0RGj4L&安培; p_p_id = my_WAR_myportlet&安培; p_p_lifecycle = 0&安培; p_p_state =正常&安培; p_p_mode =视图&安培; _my_WAR_myportlet_struts.portlet.action =%2Fview %2FmyAction
通过将Control Panel
作为请求参数传递,无法实现上述目标。
问:当plid不存在时,我收到不同的错误消息,所以我在徘徊,差异是什么
现在您知道区别的是什么,所以可能很容易回答这个问题。 如果 tag-attribute-plid 不正确,则会创建如下所示的网址:
http://mylocalhost.com / c / portal / layout?p_l_id = 123456 &amp; p_p_auth .....
如果 request-param-plid 不正确,它会为当前页面创建一个URL并附加plid,如下所示:
http://mylocalhost.com的 /网络/客体/家强> p_p_id = my_WAR_myportlet&安培; p_p_lifecycle = 0&安培; p_p_state =正常&安培; p_p_mode =视图&安培; _my_WAR_myportlet_struts.portlet.action =%2Fview%2FmyAction&安培; <强> _my_WAR_myportlet_plid = 123456 强>
希望这有帮助。
答案 1 :(得分:0)
在创建portlet URL时,在开始标记中指定plid和作为请求参数附加有什么区别?
plid as tag-attribute:有两个确定性,如果有任何布局(页面) 对于给定的plid,可以在门户网站上找到,然后它将创建特定于的URL 该页面,否则plid将作为queryString参数附加。
plid as request-parameter:在任何一种情况下(正确/错误的plid), plid将作为queryString参数附加到当前布局 具有portlet的适当命名空间的URL,可以从中提取 请求对象。
当plid不存在时,我会收到不同的错误消息。
是的,如果您的门户网站中没有找到任何布局/页面,您肯定会得到 给定的。
所以我在徘徊不同之处。
唯一的区别可能是之前在case-1中搜索布局 在标记创建renderURL时将其附加到URL。在案例-2中,plid只是传递了一个 请求对象,可在portlet操作中访问。