几个 portlet 中的 Liferay 搜索

Liferay search in several portlets

用户将看到 4 个 portlet: 1.自定义 Github portlet,可以在存储库中看到来自用户的不同提交 2.自定义jira portlet,显示来自用户的任务 3. 用户订购文件的NAS服务器 4. 另一个包含用户订购文档的数据库

我想要一个 "Main search field" 可以输入用户名并更新来自该搜索的所有 portlet。

这可能吗?如果是,如何做到这一点?

一般来说,自定义 portlet 的好教程会很好

最好的方法是 "Public render parameters",而且很简单。

这是一个例子:

 <?xml version="1.0"?>
 <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
     version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
     <portlet>
         <portlet-name>P1</portlet-name>
         <display-name>P1</display-name>
         <portlet-class>PortletClass1</portlet-class>
            ...
        <security-role-ref>
            <role-name>administrator</role-name>
        </security-role-ref>
            ...
        <supported-public-render-parameter>param1</supported-public-render-parameter>
    </portlet>
    <portlet>
         <portlet-name>P2</portlet-name>
         <display-name>P2</display-name>
         <portlet-class>PortletClass2</portlet-class>
            ...
        <security-role-ref>
            <role-name>administrator</role-name>
        </security-role-ref>
            ...
        <supported-public-render-parameter>param2</supported-public-render-parameter>
    </portlet>
    ...
    <public-render-parameter>
        <identifier>param1</identifier>
        <qname xmlns:x="http://www.liferay.com/public-render-parameters">x:param1</qname>
    </public-render-parameter>
    <public-render-parameter>
        <identifier>param2</identifier>
        <qname xmlns:x="http://www.liferay.com/public-render-parameters">x:param2</qname>
    </public-render-parameter>
</portlet-app>

在示例中,Portlet P1 可以修改参数 "param1",P2 可以修改参数 "param2",当这些 Portlet 之一修改他的参数时,其他 Portlet 可以像普通参数一样读取此参数:

request.getParameter(“param1”);