2 Replies Latest reply on Jan 13, 2012 9:27 AM by Ken Finnigan

    Public Render Parameter handler class not being executed

    Miguel Escaja Newbie



      I have two portlet A (publishing) and B (Receiving). I have defined in both a Public Render Parameter called prpExample. Both portlets are deployed on to Tomcat 7.0.23 packaged with gatein 3.2.


      The h:commandButton on Portlet A is set up to call the actionListener handler class that in turn sets the Public Render Parameter prpExample, see below


         public void publishParameter(ActionEvent ae){

             if(getResponse() instanceof ActionResponse){

                 ActionResponse stateResponse = (ActionResponse) getResponse();

                 stateResponse.setRenderParameter("prpExample", "MyParamValue");





      The receiving portlet B has parameter value: #{user.prpExampleMember} in the view.xhtml


      I got all up and running, the public render parameter value gets set to "MyParamValue" and is then passed from Portlet A to B and it´s displayed correctly on the view.xhtml


      What I want to set up now is the Public Render Parameter Handler class called myPRPHandler. To do that I have created the handler class myPRPHandler in Portlet B


      package com.escaja.portlets;


      import javax.el.ELContext;

      import javax.faces.context.FacesContext;

      import javax.portlet.faces.BridgePublicRenderParameterHandler;


      public class MyPRPHandler implements BridgePublicRenderParameterHandler{


          public void processUpdates(FacesContext context){

              ELContext elContext = context.getELContext();

              UserJSFManagedBean userJSFManagedBean = (UserJSFManagedBean)elContext.getELResolver().getValue(elContext, null, "UserJSFManagedBean");


              System.out.println("parameter handler");


              if(null != userJSFManagedBean){


              } else {}




      An finally I added the following to the Portlet B descriptor (portlet.xml) file




      I would expect the view.xhtml to show the parameter value "myPrpExampleValueChanged" instead of "myPrpExampleValue", Basically the parameter handler class myPRPHandler seem as though it does not get fired at all. I would also expect the command line to show "parameter handler" due to the code line System.out.println("parameter handler"); but it´s never logged.