Declare the render parameters to be shared in the portlet.xml file by setting the public render parameters at the portlet application level.
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/
portlet-app_2_0.xsd"
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"
id="myPortletApp" version="2.0">
<portlet>
...
</portlet>
<public-render-parameter>
<identifier>zip-id</identifier>
<qname xmlns:x="http://sun.com/params">x:zip</qname>
</public-render-parameter>
</portlet-app>
|
Specify the render parameter that the portlet would like to share in the portlet section.
<portlet-app_2_0.xsd" 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 id="myPortletApp" version="2.0" <portlet> <description>WeatherPortlet</description> <portlet-name>WeatherPortlet</portlet-name> <display-name>WeatherPortlet</display-name> <portlet-class>com.sun.portal.portlet.WeatherPortlet</portlet-class> <supported-public-render-parameter>zip-id<//supported-public- render-parameter> <portlet> <portlet> <description>MapPortlet</description> <portlet-name>MapPortlet</portlet-name> <display-name>MapPortlet</display-name> <portlet-class>com.sun.portal.portlet.MapPortlet</portlet-class> <supported-public-render-parameter>zip-id<//supported-public- render-parameter> <portlet> ... <portlet-app> |
Set the render parameter in the processAction() method by using the defined public render parameter identifier as the key.
public class WeatherPortlet extends GenericPortlet {
. . .
public void processAction(ActionRequest req, ActionResponse res)
throws IOException, PortletException {
. . .
res.setRenderParameter("zip-id", zip);
}
. . .
}
|