创建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不存在时,我会收到不同的错误消息,所以我在徘徊什么是差异

最佳答案

创建portlet URL时,在开始标记中指定plid和作为请求参数附加之间有什么区别?


  plid作为标签属性:有两个确定性,如果有布局(页面)
  在门户网站上找到给定的plid,则它将创建特定于
  该页面,否则plid将作为queryString参数附加。
  
  plid作为请求参数:无论哪种情况(正确/错误的plid),
  plid将作为具有当前布局的queryString参数附加
  带有portlet正确名称空间的URL,可以从中提取
  请求对象。


当plid不存在时,我会收到不同的错误消息。


  是的,如果您的门户网站中没有任何布局/页面,您肯定会得到
  给定。


所以我在徘徊什么区别。


  唯一的不同是在case-1之前搜索布局
  在通过标记创建renderURL时将其附加到URL。在情况2中,只需将plid传递给
  请求对象,该对象将在您的portlet操作中可访问。

关于java - 在开始标记中指定plid和将其作为Liferay中的参数传递之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27506355/

10-13 00:25