Blogs
This is a simple series of articles to indicate the new features of Jsr 286
1.Public Render Paramter
Here we simulate a Sender and a Receiver to show this
portlet.xml(Define the public render paramter and declare the portlets which support the public paramter) 
    
  ------------------------------------------------------------------- 
    
  <portlet>
        <portlet-name>Publisher</portlet-name>
        <portlet-class>
            com.liferay.portlet.test.Sender
        </portlet-class>
        <portlet-info>
            <title>Publisher
            </title>
            <short-title>Publisher
            </short-title>
        </portlet-info>
        <supports>
            <mime-type>text/html</mime-type>
            <portlet-mode>VIEW</portlet-mode>
        </supports>
        <supported-public-render-parameter>
            public-render-param
        </supported-public-render-parameter>
        <supported-locale>en</supported-locale>
    </portlet>
    <portlet>
        <portlet-name>Receiver
        </portlet-name>
        <portlet-class>
            com.liferay.portlet.test.Receiver
        </portlet-class>
        <portlet-info>
            <title> Receiver
            </title>
            <short-title> Receiver
            </short-title>
        </portlet-info>
        <supports>
            <mime-type>text/html</mime-type>
            <portlet-mode>VIEW</portlet-mode>
        </supports>
        <supported-public-render-parameter>
            public-render-param
        </supported-public-render-parameter>
        <supported-locale>en</supported-locale>
    </portlet>
<!----Define the parameter--->
    <public-render-parameter>
        <identifier>public-render-param</identifier>
        <qname xmlns:x="http://www.liferay.com/public-render-parameters">x:public-render-param</qname>
    </public-render-parameter> 
    
Sender.java
 
     
 
    
public class Sender implements Portlet {
 
    
 . . . . . . 
    
    public void processAction(ActionRequest actionRequest, 
    
            ActionResponse actionResponse) throws PortletException, IOException { 
    
        String publicRenderParamValue = actionRequest.getParameter("public-render-param"); 
    
        actionResponse.setRenderParameter("public-render-param", publicRenderParamValue); 
    
    } 
    
    public void render(RenderRequest renderRequest, 
    
           RenderResponse renderResponse) throws PortletException, IOException { 
    
       PortletRequestDispatcher portletRequestDispatcher = portletConfig 
    
              .getPortletContext().getRequestDispatcher( 
    
                     "/WEB-INF/jsp/view.jsp"); 
    
       portletRequestDispatcher.include(renderRequest, renderResponse); 
    
    } 
    
. . . . .  
    
} 
    
 
     
 
    
Receiver.java
 
     
public class Sender implements Portlet { 
    
. . . . .  
    
    public void render(RenderRequest renderRequest, 
    
            RenderResponse renderResponse) throws PortletException, IOException { 
    
        PortletRequestDispatcher portletRequestDispatcher = portletConfig 
    
                .getPortletContext() 
    
                .getRequestDispatcher( 
    
                        "/WEB-INF/jsp/showParameter.jsp"); 
    
        portletRequestDispatcher.include(renderRequest, renderResponse); 
    
} 
    
 
     
 
    
 
     
 
    
view.jsp
 
     
 
     
 
    
<%@taglib prefix="portlet" uri="http://java.sun.com/portlet_2_0"%>
 
    
<portlet:defineObjects /> 
    
 
     
 
    
<form action="<portlet:actionURL/>" name="form" method="post">
 
    
<input type="text" name="public-render-param"> <input type="submit" value="submit"> 
    
</form> 
    
 
     
 
    
showParameter.jsp
 
     
<%@taglib prefix="portlet" uri="http://java.sun.com/portlet_2_0"%> 
    
<portlet:defineObjects /> 
    
<%=renderRequest.getParameter("public-render-param")%> 
     

