liferay Java:从web内容portlet获取文章id
我的网页上有两个portlet:
第一个是web内容portlet,它允许拾取并显示文章
另一个是我正在使用的portlet(Struts MVC)。 我想在第二个portlet中做的是获取用于在第一个portlet中显示web内容的文章id
可能吗
谢谢大家!
你可以在下面搜索框中键入要查询的问题!
我的网页上有两个portlet:
第一个是web内容portlet,它允许拾取并显示文章
另一个是我正在使用的portlet(Struts MVC)。 我想在第二个portlet中做的是获取用于在第一个portlet中显示web内容的文章id
可能吗
谢谢大家!
# 1 楼答案
是的,通过在会话中设置数据,可以在两个不同的Portlet之间共享数据。通过编辑portlet代码(第一个portlet的代码)来设置文章ID,在会话中设置它,并在portlet中检索它
用于设置和获取值(portlet间通信)示例>Check this
# 2 楼答案
您可以使用一些特定于Liferay的API来实现这一点,尽管这种方法并不完美,但会奏效
您可以使用Liferay API获取页面上当前可用的Portlet列表。然后,您可以通过portlet ID确定哪些portlet属于WebContentDisplay类型。然后你可以阅读他们的偏好,然后就会看到他们显示的WebContent文章的ID
但请注意,在某些情况下,页面上可能有多个WebContent Display portlet,或者没有这些portlet。您可以在每个呈现页面上读取Portlet列表,也可以创建一个配置页面,在该页面上可以显示一个选择框,供站点管理员选择应该从哪个WebContent display Portlet实例中获取该值
让我向您展示第一个选项的代码,如果您需要第二个选项,我想您将从给定的代码示例(请注意注释)推断如何实现它: