java - 在开始标签中指定plid与在Liferay中将其作为参数传递之间的区别

标签 java url liferay portlet

创建 portlet url 时在开始标记中指定 pld 有何区别

<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,它将检查 pld 并相应地更改该布局(页面)的 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 页时。假设您位于主页页面,并且想要转到帮助页面或控制面板,然后在plid 属性,您可以传递帮助页面的pild控制面板plid

因此,如果我传递控制面板的 pld,那么最终的 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/

相关文章:

sql - 如何从Grails中的SQL查询获取字符串值?

url - 使用公共(public) GitHub API 以 JSON 格式获取所有合并的拉取请求

java - 如何让 Safari 下载 CSV 而不是在浏览器中显示?

java - Gradle + OSGi Liferay7 模块,包括传递依赖项

java - 使用 JSP 中的参数调用 Javascript 函数

java - 如何使用 gradle 进行项目编排并为其每个部分保留单独的存储库

java - 将图像添加到 JPanel

java - 如何用另一个数组列表中歌曲的艺术家姓名填充数组列表

java - Axis 1.7.1 依赖性问题 - 生成的 stub 类中出现错误

python - 为人们提供一次性 url 以下载文件的 Django/Python 解决方案是什么?