所以我整天都用Google搜索,得到的答案很少,但都失败了。更不用说所有解决方案都是> 3岁。我正在使用LR 6.1 CE。非常感谢简单的工作示例,因为其他答案总是让我失去价值。
答案 0 :(得分:4)
有2-3种方法可以做到这一点,但试试这个。
从portletSession
获取portletRequest
。使用setAttribute()
方法和3个参数。第三个参数应为PortletSession.APPLICATION_SCOPE
。
从portlet会话中获取第二个portlet的值。使用相同的APPLICATION_SCOPE
来获取它。
修改强>
您还需要在false
中将以下代码的值设为liferay-portlet.xml
以共享参数
<private-request-attributes>false</private-request-attributes>
<private-session-attributes>false</private-session-attributes>
您可以在DTD。
中详细了解这些参数答案 1 :(得分:1)
此代码从其他portlet调用Action并发送2个参数
你可以使用:
liferay-portlet:renderURL
liferay-portlet:actionURL
<liferay-portlet:actionURL name="addWallEntry" plid="<%= portletId2 %>" portletName="3_WAR_socialnetworkingportlet" var="shareUrl">
<portlet:param name="redirect" value="<%= viewFolderURL.toString() %>" />
<portlet:param name="comments" value="<%= shareMessage %>" />
</liferay-portlet:actionURL>
<liferay-ui:icon image="share" url="<%= shareUrl %>"/>
你必须知道的概念 plid:引用的页面布局ID portletName:引用的portlet名称
renderURL和actionURL是Liferay提供的扩展标准tld的标签。注意:这种通信不是portlet JSR168和JSR286标准的一部分。
plid是我们部署一个portlet的页面的id,我们可以使用LayOutLocalService来寻找id,或直接在数据库中查询它。
portletName是portlet的标识符,是portlet的部署描述符的一部分。此id由portletId + WAR + thenameofwarthatencapsulatestheportlet和 INSTANCE 组成,如果portlet是可实现的。
答案 2 :(得分:0)
我附上了一个带有请求和会话属性的简单liferay-portlet.xml的演示。
<?xml version="1.0"?>
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 6.1.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_6_1_0.dtd">
<liferay-portlet-app>
<portlet>
<portlet-name>testRedirect</portlet-name>
<icon>/icon.png</icon>
<instanceable>false</instanceable>
<private-request-attributes>false</private-request-attributes>
<private-session-attributes>false</private-session-attributes>
<header-portlet-css>/css/main.css</header-portlet-css>
<footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
<css-class-wrapper>testRedirect-portlet</css-class-wrapper>
</portlet>
<role-mapper>
<role-name>administrator</role-name>
<role-link>Administrator</role-link>
</role-mapper>
<role-mapper>
<role-name>guest</role-name>
<role-link>Guest</role-link>
</role-mapper>
<role-mapper>
<role-name>power-user</role-name>
<role-link>Power User</role-link>
</role-mapper>
<role-mapper>
<role-name>user</role-name>
<role-link>User</role-link>
</role-mapper>
</liferay-portlet-app>