0 Replies Latest reply on Jul 6, 2010 7:13 AM by Kalyan L

    a4j:support event for selectOneMenu, selectOneListbox etc doesnt work in weblogic

    Kalyan L Newbie

      Hi Richfaces team,

       

      Im having issue with deploying JSF application built with seam and richfaces on weblogic, the details are as below

       

      I have observed that a4f:support doesnt work in weblogic 10.0 MP1 when used with UISelectOne components, though the same works with tomcat 6, JBoss 5 using seam 2.2.0 and richfaces 3.3.1 GA or 3.3.3 GA. Since weblogic 10.0 MP1 is bundled with older version of JSF 1.2_03, I have deployed latest versions of Mojarra (1.2_12 or 1.2_14) from sun and copied the WeblogicInjectionProvider class from bundler war to new war.

       

      To simulate this, I have changed jpa example from seam 2.2.0 GA as below

       

          • Change booking.xhtml to include a:support at line  85

       

      <s:decorate id="bedsDecorate">
          <h:selectOneMenu id="beds" value="#{booking.beds}">
              <f:selectItem id="OneKingBed" itemLabel="One king-size bed" itemValue="1"/>
              <f:selectItem id="TwoDoubleBeds" itemLabel="Two double beds" itemValue="2"/>
              <f:selectItem id="ThreeBeds" itemLabel="Three beds" itemValue="3"/>
              <a:support id="onchange" event="onchange" reRender="bedsDecorate"/>
          </h:selectOneMenu>
      </s:decorate>

          • Deploy the jpa example to weblogic and see if onchange event is generated and fired.

       

      What i have observed is

       

      • No Javascript is generated or onchange attribute is rendered for select HTML markup
      • If other attributed like disabled etc are added to the componenet, even those attributes are not rendered in markup
      • Other UIInput elements generate HTML markup as expected and AjaxSupport events are rendered correctly

       

      debug logs from server console as below

       

      DEBUG BaseXMLFilter - XML filter service start processing request
      DEBUG AjaxPhaseListener - Process before phase RESTORE_VIEW 1
      DEBUG AjaxPhaseListener - Process after phase RESTORE_VIEW 1
      DEBUG AjaxPhaseListener - Process before phase RENDER_RESPONSE 6
      DEBUG AjaxPhaseListener - PhaseListener enter Before RenderView Phase with ViewId /book.xhtml and RenderKitId HTML_BASIC
      DEBUG UIAjaxSupport - Called setParent for AjaxSupport component with parent : javax.faces.component.html.HtmlSelectOneMenu
      DEBUG UIAjaxSupport - Detect newly created component
      DEBUG UIAjaxSupport - Set ValueBinding for onchange event property
      DEBUG UIAjaxSupport - Create JavaScript event string for component onchange
      DEBUG UIAjaxSupport - Called setParent for AjaxSupport component with parent : org.richfaces.component.html.HtmlInputText
      DEBUG UIAjaxSupport - Detect newly created component
      DEBUG UIAjaxSupport - Set ValueBinding for onblur event property
      DEBUG UIAjaxSupport - Create JavaScript event string for component onblur
      DEBUG UIAjaxSupport - Called setParent for AjaxSupport component with parent : org.richfaces.component.html.HtmlInputText
      DEBUG UIAjaxSupport - Detect newly created component
      DEBUG UIAjaxSupport - Set ValueBinding for onblur event property
      DEBUG UIAjaxSupport - Create JavaScript event string for component onblur
      DEBUG FilterServletResponseWrapper - Create StringWriter for buffer servlet output
      DEBUG RendererBase - Start encoding of component _viewRoot with class org.ajax4jsf.component.AjaxViewRoot
      DEBUG RendererBase - Start encoding of component booking:checkinDateDecorate:checkinDate with class org.richfaces.component.html.HtmlCalendar
      DEBUG InternetResourceBuilder - Return instance of internet resource builder org.ajax4jsf.resource.ResourceBuilderImpl@4d90c1
      DEBUG ResourceBuilderImpl - Build URI for Resource with key [org.richfaces.renderkit.html.iconimages.CalendarIcon] as : /jboss-seam-jpa/a4j/g/3_3_1.GAorg.richfaces.renderkit.html.iconimages.CalendarIcon/DATB/eAE7fv4Kw6znAA4mA-w_
      DEBUG InternetResourceBuilder - Return instance of internet resource builder org.ajax4jsf.resource.ResourceBuilderImpl@4d90c1
      DEBUG ResourceBuilderImpl - Build URI for Resource with key [org.richfaces.renderkit.html.iconimages.DisabledCalendarIcon] as : /jboss-seam-jpa/a4j/g/3_3_1.GAorg.richfaces.renderkit.html.iconimages.DisabledCalendarIcon/DATB/eAE7fv4Kw6znAA4mA-w_
      DEBUG RendererBase - Finish encoding of component booking:checkinDateDecorate:checkinDate with class org.richfaces.component.html.HtmlCalendar
      DEBUG RendererBase - Start encoding of component booking:checkoutDateDecorate:checkoutDate with class org.richfaces.component.html.HtmlCalendar
      DEBUG InternetResourceBuilder - Return instance of internet resource builder org.ajax4jsf.resource.ResourceBuilderImpl@4d90c1
      DEBUG ResourceBuilderImpl - Build URI for Resource with key [org.richfaces.renderkit.html.iconimages.CalendarIcon] as : /jboss-seam-jpa/a4j/g/3_3_1.GAorg.richfaces.renderkit.html.iconimages.CalendarIcon/DATB/eAE7fv4Kw6znAA4mA-w_
      DEBUG InternetResourceBuilder - Return instance of internet resource builder org.ajax4jsf.resource.ResourceBuilderImpl@4d90c1
      DEBUG ResourceBuilderImpl - Build URI for Resource with key [org.richfaces.renderkit.html.iconimages.DisabledCalendarIcon] as : /jboss-seam-jpa/a4j/g/3_3_1.GAorg.richfaces.renderkit.html.iconimages.DisabledCalendarIcon/DATB/eAE7fv4Kw6znAA4mA-w_
      DEBUG RendererBase - Finish encoding of component booking:checkoutDateDecorate:checkoutDate with class org.richfaces.component.html.HtmlCalendar
      DEBUG AjaxRendererUtils - Build onclick string for component onblur as A4J.AJAX.Submit('_viewRoot','booking',event,{'parameters':{'booking:creditCardDecorate:onblur':'booking:creditCardDecorate:onblur'} ,'actionUrl':'/jboss\x2Dseam\x2Djpa/book.seam','similarityGroupingId':'booking:creditCardDecorate:onblur'} )
      DEBUG AjaxRendererUtils - Build onclick string for component onblur as A4J.AJAX.Submit('_viewRoot','booking',event,{'parameters':{'booking:creditCardNameDecorate:onblur':'booking:creditCardNameDecorate:onblur'} ,'actionUrl':'/jboss\x2Dseam\x2Djpa/book.seam','similarityGroupingId':'booking:creditCardNameDecorate:onblur'} )
      DEBUG RendererBase - Finish encoding of component _viewRoot with class org.ajax4jsf.component.AjaxViewRoot
      DEBUG AjaxRegionBrige - Save State of UIAjaxComponent with Id _viewRoot
      DEBUG AjaxRendererUtils - Calculate absolute ID for component onchange as :booking:bedsDecorate:onchange
      DEBUG AjaxRendererUtils - Calculate absolute ID for component onblur as :booking:creditCardDecorate:onblur
      DEBUG AjaxRendererUtils - Calculate absolute ID for component onblur as :booking:creditCardNameDecorate:onblur
      DEBUG AjaxStateHolder - Request for a view states holder instance
      DEBUG AjaxStateHolder - Save new viewState in session for viewId /book.xhtml and sequence j_id4
      DEBUG AjaxStateManager - Write view state to the response
      DEBUG ViewResources - Process component tree for collect used scripts and styles
      DEBUG InternetResourceBuilder - Return instance of internet resource builder org.ajax4jsf.resource.ResourceBuilderImpl@4d90c1
      DEBUG InternetResourceBase - Encode HTML for Resource with key [org/richfaces/renderkit/html/css/basic_classes.xcss]
      DEBUG InternetResourceBuilder - Return instance of internet resource builder org.ajax4jsf.resource.ResourceBuilderImpl@4d90c1

       

      Please find the jsf-1.2.12.war (to be deployed as weblogic jsf library) and booking.xhtml attached to simulate this issue

       

      Appreciate if some one from richfaces team can check this out and help me resolve this prickly issue with weblogic.

       

      Thanks

      Kalyan