I don't exactly know if it's this problem, but what Java types to you have in 
your SelectItems value. Perhaps the value binding of the selectOneRadio is 
binded to the wrong Java Type... You know what I mean...

For example: If your SelectItem consists of (int, String)
then the value binding of the selectOneRadio Component must be bind to an int...

I hope I don't tell you nonsense, because I'm also a beginner in JSF but I got 
the same error stack some days ago and this was the problem. 

regards,
Andy

-----Ursprüngliche Nachricht-----
Von: Caroline Jen [mailto:[EMAIL PROTECTED]
Gesendet: Mittwoch, 28. September 2005 18:11
An: MyFaces Discussion
Betreff: Re: selectOneRadio Problem - Conversion Error setting value
''{0}'' for ''{1}''. 


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


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
your system manager.

This footnote also confirms that this email message has been swept
for the presence of computer viruses.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reply via email to