Hi Andy, thanks for your reply. I am binding to a
String in
<h:selectOneRadio
value="#{dataManagementBean.dataTransferTypeItems[0]}"
........>
The dataTransferTypeItems[0] is a String.
Actually, I have two radio buttons. One stands for
"import" and the other stands for "export". I am
trying to set a default radio button to "import"
What should I do to fix the problem? Thanks for
guidance in advance.
--Caroline
--- [EMAIL PROTECTED] wrote:
> 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)
>
> ---------------------------------------------------
>
>
>
=== message truncated ===
__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com