2 Replies Latest reply on May 26, 2007 2:14 PM by mkaliyur

    <a4j:actionParam not working

    mkaliyur

      Hi,

      I need some help to understand why a simple action Param is not working

      I have table with a custom radio button component to do rowSelect - On click of rowselect radio I want to kick off an a4j call to a backing bean action listener with a4j:support call - a4j:support has an actionparam inside it.

      action Listener gets called, but the actionparam is null ! I tried with f:param with same result and even a hidden input in the form is null! I'm not sure whats the problem - I appreciate any inputs ! I've been fighting with this for last 8 hours! :)

      Code snippets below --

      <t:column>
       <f:facet name="header">
       <h:outputText value="Select"></h:outputText>
       </f:facet>
       <mp:selectRow groupName="select" id="select" value="{MappWindow.windowService.mappGridWindow.selctedRowNumber}" >
       <a4j:support event="onclick" actionListener="#{MappWindow.windowService.mappGridWindow.processAction}"
      rerender="DetailTabs" >
       <a4j:actionparam id="sourceTab"
       name="sourceTab"
       value="#{MappWindow.windowService.mappGridWindow.tabList[0].tabId}" >
       </a4j:actionparam>
      </a4j:support>
      </mp:selectRow>
      </t:column>
      
      
      ========================================
      
      Log Entries from the action performed -- I had logged the request map contents with the code below ---
      
      ========================================
       public void processAction(ActionEvent e) throws AbortProcessingException {
       Iterator i = FacesContext.getCurrentInstance().getExternalContext().getRequestMap().entrySet().iterator();
       while(i.hasNext()){
       Entry tmp = (Entry) i.next();
      
       log.warn("Map Iterator [key =" + tmp.getKey() + " [value =" + tmp.getValue());
       }
      
       AjaxContext tmpAjaxctx = (AjaxContext)FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("ajaxContext");
       String sourceTab1 = (String)FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("sourceTab");
       log.warn("tmpAjaxctx = " + tmpAjaxctx +" [ sourceTab1 = " + sourceTab1);
      
       this.getTabList().get(sourceTab).processAction(e);
       }
      
      ==================================
      
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =index [value =2
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =com.sun.faces.FACES_VIEW_STRUCTURE [value =[Ljava.lang.Object;@1183515
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =org.jboss.seam.core.validation [value =org.jboss.seam.core.Validation@452fb4
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =com.sun.faces.INVOCATION_PATH [value =.jsf
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =ajaxContext [value =org.ajax4jsf.framework.ajax.AjaxContext@3f09f4
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =com.sun.faces.FACES_VIEW_STATE [value =[Ljava.lang.Object;@a68bf1
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =com.sun.faces.managedBeanStack [value =[]
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =com.exade.vcp.Filter.ResponseWrapper [value =org.ajax4jsf.framework.ajax.xmlfilter.FilterServletResponseWrapper@2da07a
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =com.sun.faces.FacesContextImpl [value =com.sun.faces.context.FacesContextImpl@182c145
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =org.jboss.seam.core.manager [value =Manager([17])
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =class org.apache.myfaces.shared_tomahawk.renderkit.html.util.JavascriptUtils.OLD_VIEW_ID [value =/DynMappWindow.xhtml
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =rows [value =com.matrixprecise.mapp.transport.MappGridRow@d5e82c
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =org.richfaces.component.DecodesPhaseNotifiyingListener:_AFTER_DECODE_PHASE [value =true
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =com.sun.faces.renderKitImplForRequest [value =org.ajax4jsf.framework.renderer.ChameleonRenderKitFactory@327b4b
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =com.sun.faces.LegacyVariableResolver [value =[]
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =com.exade.vcp.Filter.done [value =true
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =com.sun.faces.ExternalContextImpl [value =com.sun.faces.context.ExternalContextImpl@15eb475
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =org.apache.myfaces.AddResourceFactory.CACHE_MAP_KEY [value =org.apache.myfaces.renderkit.html.util.DefaultAddResource@997b5c
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 Map Iterator [key =org.apache.myfaces.component.html.util.ExtensionFilter.doFilterCalled [value =true
      2007-05-25 23:08:17,484 WARN [com.matrixprecise.mapp.transport.MappGridWindow] :104 tmpAjaxctx = org.ajax4jsf.framework.ajax.AjaxContext@3f09f4 [ sourceTab1 = null
      
      =====================================
      
      
      </code>
      
      
      
      a4j lib version: 1.1.1
      jboss-4.0.5
      
      



      Thanks in advance,

      Manjunath Kaliyur

        • 1. Re: <a4j:actionParam not working
          amitev

          Hi! You're looking in the wrong map. The request parameters are stored in the requestParameterMap. So what you'll have to do is:

          FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap()
          


          However, i recommend you to try the assignTo attribute of a4j:actionParam .It will save you this trivial code that looks in the request param map.

          • 2. Re: <a4j:actionParam not working
            mkaliyur

            Thanks!!!!!

            I really appreciate your reply. I was totally concentrated on that wrong call and wondering why things are not working :)

            Manju