Liferay在几个portlet中搜索

时间:2015-04-14 21:53:38

标签: plugins liferay-6 portlet

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

我想要一个“主搜索字段”,可以输入用户名并更新此搜索中的所有portlet。

这可能吗?如果是的话,怎么办呢?

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

1 个答案:

答案 0 :(得分:2)

执行此操作的最佳方法是“公共渲染参数”,这很容易。

这是一个例子:

 <?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”);