我使用Liferay portlet bundle 6.2(Tomcat)和Liferay IDE(eclipse)。我创建了一个Liferay插件项目。我在这个项目中使用Portlet Preferences保存了一些数据,我创建了一个按钮,它的调用是“Search”。我的问题是,当我按下第一个Liferay插件项目中创建的按钮“搜索”时,如何调用另一个Liferay插件项目?稍后我会检索第一个项目从第二个Liferay插件项目中保存的数据。
接下来是search.jsp,我创建了tis按钮搜索
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://alloy.liferay.com/tld/aui" prefix="aui" %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<portlet:defineObjects />
<aui:button-row cssClass="guestbook-buttons">
<portlet:renderURL var="addEntryURL">
<portlet:param name="mvcPath" value="/html/voda/edit_entry.jsp"></portlet:param>
</portlet:renderURL>
<aui:button onClick="<%= addEntryURL.toString() %>" value="Add Entry"></aui:button>
<portlet:renderURL var="showURL">
<portlet:param name="mvcPath" value="/html/voda/show_entries.jsp"></portlet:param>
</portlet:renderURL>
<aui:button onClick="<%= showURL.toString() %>" value="Show"></aui:button>
<portlet:renderURL var="searchURL">
<portlet:param name="mvcPath" value="/html/voda/search.jsp"></portlet:param>
</portlet:renderURL>
<aui:button onClick="<%= searchURL.toString() %>" value="Search"></aui:button>
答案 0 :(得分:1)
您可以参考this SO answer,其中显示了如何从弹出窗口中的第一个portlet打开第二个portlet。
同样的原则适用,你可以忽略打开弹出窗口的代码。
以下是答案中的要点(答案中提供了详细信息),您应该考虑并忽略其他javascript内容:
portletName="testPopup_WAR_testPopupportlet"
将testPopup_WAR_testPopupportlet
替换为您的第二个portlet的ID。<a>
中提供上述链接。<add-default-resource>true</add-default-resource>
中的liferay-portlet.xml
。liferay-portlet.xml
中的更改,那么您应该在portlet.add.default.resource.check.whitelist
中拥有该属性portal-ext.properties
。如果您想学习Liferay Portlet开发,那么最好的方法是使用书籍Liferay in Action
和Portlets in Action
,或者从Liferay developer Network
开始,然后{{3 }}
希望这有助于。