a4j:support event for selectOneMenu, selectOneListbox etc doesnt work in weblogic
kalyanl Jul 6, 2010 7:13 AMHi 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
-
book.xhtml.zip 1.7 KB
-
jsf-1.2.12.war 1.4 MB