gpt4 book ai didi

java - 在开始标记中指定 plid 并将其作为参数传递给 Liferay 的区别

转载 作者:行者123 更新时间:2023-11-30 08:58:45 24 4
gpt4 key购买 nike

在创建 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 不存在时,我收到不同的错误消息,所以我想知道有什么区别

最佳答案

Q: What is the difference between specifying the plid in the opening tag when creating a portlet url and passing it as a param

主要区别在于:

  • 对于 tag-attribute-plid,它将检查 plid 并针对该布局(页面)相应地更改您的 URL。
  • 对于 request-param-plid,它会像其他请求参数一样简单地将它附加到您的 URL(作为查询字符串),并带有适当的命名空间。没什么特别的。

举个例子

如果 tag-attribute-plid 在您的 my-portlet 中使用如下:

<liferay-portlet:renderURL var="myurl" windowState="normal" plid="123456">
<liferay-portlet:param name="struts.portlet.action" value='/view/myAction' />
</liferay-portlet:renderURL>

当你想在一个页面 x 上构建一个 URL 以转到另一个页面 y 时。假设您在页面:Home 并且您想转到Help 页面或Control Panel,然后在plid 属性,您将传递 Help 页面的 pildControl Panelplid

因此,如果我通过控制面板的 plid,那么最终 URL 将类似于:

http://mylocalhost.com/group/control_panel/manage?p_p_auth=1g0RGj4L&p_p_id=my_WAR_myportlet&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&_my_WAR_myportlet_struts.portlet.action=%2Fview%2FmyAction


通过将 plid 作为请求参数传递是无法实现上述目标的。


Q: I get different error messages when the plid doesn't exist so I was wandering what the difference was

现在您知道区别是什么,所以回答这个问题可能很容易。如果 tag-attribute-plid 不正确,它会创建一个如下所示的 URL:

http://mylocalhost.com/c/portal/layout?p_l_id=123456&p_p_auth .....

如果 request-param-plid 不正确,它将为当前页面创建一个 URL 并附加 plid,如下所示:

http://mylocalhost.com/web/guest/home?p_p_id=my_WAR_myportlet&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&_my_WAR_myportlet_struts.portlet.action=%2Fview%2FmyAction&_my_WAR_myportlet_plid=123456

希望这对您有所帮助。

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com