用户将看到4个portlet: 1.自定义Github portlet,可以在存储库中查看来自用户的不同提交 2.自定义jira portlet,用于显示用户的任务 3. NAS服务器,包含用户订购的文档 4.另一个包含用户订购文件的数据库
我想要一个“主搜索字段”,可以输入用户名并更新此搜索中的所有portlet。
这可能吗?如果是的话,怎么办呢?
一般来说,定制portlet的好教程会很好
答案 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”);