Please help me to identify the problem that I ran
into.  Meanwhile, I am unable to find the JSF version
in the IDE I use.  I am uncertain if my problem is
related to the version 1.1 of JSF or the problem is
with my code.

I have put a ValueChangeListener for my radio button.
I have two radio buttons. And I have two list boxes.
List box A will be displayed if the first radio button
is clicked by users. List box B will be displayed if
the second radio button is clicked by users. 

To have something displayed in the list box when the
web page is "first" rendered, I would like to show a
default radio button (the first radio button) and
display the list box A.

But, my code has a "runtime" error:

quote:
------------------------------------------------------

java.lang.IllegalArgumentException: Conversion Error
setting value ''{0}'' for ''{1}''. 

------------------------------------------------------

My code is show below. In my jsp page, I try to
construct a set of radio buttons and a list box:

code:
-----------------------------------------------------

<h:selectOneRadio
value="#{dataManagementBean.dataTransferTypeItems[0]}"
layout="pageDirection" onchange="submit()"
immediate="true"
valueChangeListener="#{dataManagementBean.showRecordList}">

        <f:selectItems
value="#{dataManagementBean.dataTransferTypeItems}"/>

</h:selectOneRadio> 

<h:selectOneListbox
value="#{dataManagementBean.record}" required="true"
immediate="true">

        <f:selectItems
value="#{dataManagementBean.recordItems}"/>

</h:selectOneListbox>

----------------------------------------------------


In my backing bean, I have:

code:
-----------------------------------------------------

private SelectItem[] dataTransferTypeItems;
private Map records;
private SelectItem[] recordItems;

        dataTransferTypeItems = new SelectItem[]
        {
            new SelectItem("import", "Records
available for import"),
            new SelectItem("export", "Records
available for export")
        };

        public SelectItem[] showRecordList( ValueChangeEvent
event )
        {
                FacesContext context =
FacesContext.getCurrentInstance();

                if ( ( ( String )event.getNewValue() ).equals(
"import") )
                {
                        recordItems = ( SelectItem[] ) records.get(
"import" );
                }
                else
                {
                        recordItems = ( SelectItem[] ) records.get(
"export" );
                }
                context.renderResponse();
                return recordItems;
        } 

----------------------------------------------------


This is how I contruct my "records", which is a Map:

code:
----------------------------------------------------

        records = new HashMap();                records.put( "import",
             new SelectItem[]
             {
                    new SelectItem( "import1", "HAFMDS -- FAC_SAR"
), new SelectItem( "import2", "LOCAL -- AFSC_SUB" ),    
                    new SelectItem( "import3", "LOGMOD -- Chalk" ),
new SelectItem( "import4", "MDS -- Authorizations" ),   
                    new SelectItem( "import5", "MDS --
Wartime_Inplace" )
              }
        );

        records.put( "exports", 
             new SelectItem[]
             {
                    new SelectItem( "export1", "LOGFOR -- UTA" ),
new SelectItem( "export2", "MISSION -- DESIGN_NUM" ), 
                    new SelectItem( "export3", "AUTH -- Upgrade" ),
new SelectItem( "export4", "MISCAP -- Basic" ), 
                    new SelectItem( "export5", "DEPID
-- HQ_FAM_PHONE" )
              }
        );

---------------------------------------------------


The runtime error message is:

quote:
----------------------------------------------------

java.lang.IllegalArgumentException: Conversion Error
setting value ''{0}'' for ''{1}''. 
com.sun.faces.util.Util.getSelectItems(Util.java:628)
com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:488)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:465)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:430)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:720)
javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:623)
javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:546)
com.sun.faces.taglib.html_basic.SelectOneListboxTag.doEndTag(SelectOneListboxTag.java:521)
org.apache.jsp.pages.screen1_jsp._jspx_meth_h_selectOneListbox_0(screen1_jsp.java:383)
org.apache.jsp.pages.screen1_jsp._jspx_meth_h_form_0(screen1_jsp.java:212)
org.apache.jsp.pages.screen1_jsp._jspx_meth_f_view_0(screen1_jsp.java:164)
org.apache.jsp.pages.screen1_jsp._jspService(screen1_jsp.java:129)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)

---------------------------------------------------



--- Paul Klaer <[EMAIL PROTECTED]> wrote:

> This bug has no Exception. The value is not
> correctly displayed as checked  
> because of a comparison of the variable which is not
> converted into String  
> so the result of the equals method returns false
> each time.
> 
> On Wed, 28 Sep 2005 15:55:56 +0200, Caroline Jen
> <[EMAIL PROTECTED]>  
> wrote:
> 
> > Hi Stefano,
> >
> >      Is this the error message you are getting
> when
> > use valueChangeListener in the <h:selectOneRadio>
> tag:
> >
> > "java.lang.IllegalArgumentException: Conversion
> Error
> > setting value ''{0}'' for ''{1}''."
> >
> >      Please help me to make sure that I ran into
> the
> > same problem.  Here is my selectOneRadio code:
> >
> > <h:selectOneRadio
> >
>
value="#{dataManagementBean.dataTransferTypeItems[0]}"
> > layout="pageDirection" onchange="submit()"
> > immediate="true"
> >
>
valueChangeListener="#{dataManagementBean.showRecordList}">
> > </h:selectOneRadio>
> >
> > --Caroline
> >
> >
> > --- "stefanom (sent by Nabble.com)"
> <[EMAIL PROTECTED]>
> > wrote:
> >
> >>
> >> With myfaces version 1.09 I can use a Boolean
> method
> >> in h:selectOneRadio value tag and the component
> >> converts the Boolean value in String
> automatically.
> >>
> >> In version 1.1 this conversion doesn't work and I
> >> need to use another method for the conversion.
> >>
> >>
> >> Thank you
> >>
> >> Stefano
> >>
> >>
> >> --
> >> Sent from the MyFaces - Users forum at
> Nabble.com:
> >>
> >
>
http://www.nabble.com/selectOneRadio-in-myfaces-1.1-t354851.html#a982138
> >>
> >
> >
> >
> >             
> > __________________________________
> > Yahoo! Mail - PC Magazine Editors' Choice 2005
> > http://mail.yahoo.com
> 
> 
> 



                
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com

Reply via email to