I knew how to create a list box using a List of
SelectItem.  I did it successfully long time ago.

What I am struggling now is to have a UISelectMany to
be rendered as a list box in the browser.

--- Guillermo Meyer <[EMAIL PROTECTED]>
wrote:

> You ask this befote. The problem seems to be that
> dataFileItems in the
> backing bean should return a Map or an array of
> SelectItem[].
> 
> Change:
> public UISelectMany getDataFileItems() ....
> 
> To:
> public SelectItem[] getDataFileItems() ....
> 
> 
> And use as you do like this:
> <h:selectManyListbox
> binding="#{fileManagementBean.dataFile}" size="7" >
>     <f:selectItems
> value="#{fileManagementBean.dataFileItems}"/>
> </h:selectManyListbox>
> 
> As you see, #{fileManagementBean.dataFileItems}
> binding expression points to
> dataFileItems that in your case returns
> UISelectMany. It should return
> SelectItem[] (or a Map)
> 
> 
> Regards.
> Guillermo.
> 
> -----Original Message-----
> From: Caroline Jen [mailto:[EMAIL PROTECTED] 
> Sent: MiƩrcoles, 12 de Octubre de 2005 11:05 a.m.
> To: [email protected]
> Subject: I Created a UISelectMany, But, It Was Not
> Acceptable to the
> <f:selectItems>
> 
> Please help me.  I have been struggling for days. 
> If
> anybody has the experience.
> 
> I got a runtime error:
> "java.lang.IllegalArgumentException: Conversion
> Error
> setting value ''{0}'' for ''{1}''. 
> 
>
com.sun.faces.util.Util.getSelectItems(Util.java:628)"
> Usually when we encounter this error using
> selectItems, we have to ensure that the method the
> SelectItems being returned is NOT NULL.  I have a
> getter for what to be rendered in my backing bean. 
> Therefore, it seems that what I created for
> rendering
> has some problems.
> 
> This is my backing bean:
> 
> [code]
> public class FileManagementBean 
> {
>       private UISelectMany dataFileItems;
>       protected List dataFile;
>       
>       public FileManagementBean() 
>       {
>               dataFileItems = new UISelectMany();
>               UISelectItem item = new UISelectItem();
>  
>               SelectItem file = new SelectItem( "file1", "Data
> File No. 1" );
>               item.setValue( file );
>               dataFileItems.getChildren().add( item );
>               file = new SelectItem( "file2", "Data File No. 2"
> );
>               item.setValue( file );
>               dataFileItems.getChildren().add( item );
> ......
> ......
>       }
> 
>       public UISelectMany getDataFileItems() {
>               return dataFileItems;
>       }
>       
>       public Object[] getDataFile() 
>       {
>               return dataFile.toArray();
>       }
>       
>       public void setDataFile( Object[] newDataFile ) 
>       {
>           int len = 0;
>               if ( null == newDataFile ||
>                  ( len = newDataFile.length) == 0) 
>               {
>                   return;
>               }
>               dataFile.clear();
>               dataFile = new ArrayList( len );
>               for ( int i = 0; i < len; i++ ) 
>               {
>                   dataFile.add( newDataFile[i] );
>                                            }  
>       }
> }
> [/code]
> 
> and I tried to create a list box:
> 
> [code]
> <h:selectManyListbox
> binding="#{fileManagementBean.dataFile}" size="7" >
>     <f:selectItems
> value="#{fileManagementBean.dataFileItems}"/>
> </h:selectManyListbox>
> [/code]
> 
> 
> 
> 
>       
>               
> __________________________________ 
> Yahoo! Mail - PC Magazine Editors' Choice 2005 
> http://mail.yahoo.com
> 
> NOTA DE CONFIDENCIALIDAD
> Este mensaje (y sus anexos) es confidencial, esta
> dirigido exclusivamente a las personas direccionadas
> en el mail y puede contener informacion (i)de
> propiedad exclusiva de Interbanking S.A. o (ii)
> amparada por el secreto profesional. Cualquier
> opinion en el contenido, es exclusiva de su autor y
> no representa necesariamente la opinion de
> Interbanking S.A. El acceso no autorizado, uso,
> reproduccion, o divulgacion esta prohibido.
> Interbanking S.A no asumira responsabilidad ni
> obligacion legal alguna por cualquier informacion
> incorrecta o alterada contenida en este mensaje. Si
> usted ha recibido este mensaje por error, le rogamos
> tenga la amabilidad de destruirlo inmediatamente
> junto con todas las copias del mismo, notificando al
> remitente. No debera utilizar, revelar, distribuir,
> imprimir o copiar este mensaje ni ninguna de sus
> partes si usted no es el destinatario. Muchas
> gracias.
> 
> 
> 



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

Reply via email to