|
|
|
simple case description for the Ajax/Jsf problem:
This version works (with a textbox): <a4j:region renderRegionOnly="false"> <h:selectOneRadio id="choose" value="#{bean.a}"> <f:selectItems value="#{bean.map}" /> <a4j:support ajaxSingle="true" event="onchange" reRender="ajaxPanel" /> </h:selectOneRadio><br /> </a4j:region> <a4j:outputPanel id="ajaxPanel"> <h:inputText id="myInput" value="#{bean.b}" rendered="#{bean.a == 'blue'}" required="true" /> <h:message for="myInput" /> </a4j:outputPanel><br /> Mandatory field: <h:inputText value="#{bean.c}" required="true" /><br /> <h:commandButton value="submit" action="submit" /> This version fails in some cases with a Converter exception for the radiobutton control. (the only change is the use of radiobuttons instead of a textbox) <a4j:region renderRegionOnly="false"> <h:selectOneRadio id="choose" value="#{bean.a}"> <f:selectItems value="#{bean.map}" /> <a4j:support ajaxSingle="true" event="onchange" reRender="ajaxPanel" /> </h:selectOneRadio><br /> </a4j:region> <a4j:outputPanel id="ajaxPanel"> <h:selectOneRadio id="myInput" value="#{bean.b}" rendered="#{bean.a == 'blue'}" required="true"> <f:selectItems value="#{bean.map2}" /> </h:selectOneRadio> <h:message for="myInput" /> </a4j:outputPanel> <br /> Mandatory field: <h:inputText value="#{bean.c}" required="true" /><br /> <h:commandButton value="submit" action="submit" /> The exception is: java.lang.IllegalArgumentException: Value is no String (class=org.apache.myfaces.shared_impl.renderkit.RendererUtils$1, value=org.apache.myfaces.shared_impl.renderkit.RendererUtils$1@1c71d5a) and component myform:myInput with path: {Component-Path : [Class: org.ajax4jsf.framework.ajax.AjaxViewRoot,ViewId: /ajax.xhtml][Class: javax.faces.component.html.HtmlForm,Id: myform][Class: org.ajax4jsf.ajax.html.HtmlAjaxOutputPanel,Id: ajaxPanel][Class: javax.faces.component.html.HtmlSelectOneRadio,Id: myInput]} does not have a Converter It looks like Jsf/Ajax tries to assign an invalid value (maybe a myfaces radiobutton control ?!) to the SelectOneRadio button. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If you select Approbation, try to submit, it will fail, as LifeCycleState is mandatory.
If you then select Serial or Parale, you get an error..