I understand what you are talking about. I created
select one and select many long time ago without any
problem.
I think the conclusion is that it is NOT POSSIBLE to
supply a UISelectMany to render a list box. Is it
correct?
--- Guillermo Meyer <[EMAIL PROTECTED]>
wrote:
> Creating a select one or a select many by using
> selectItems is the same.
> selectItems behavior is the same
> You are trying to set selectItems value to an
> invalid type property
>
> <h:selectManyListbox
> binding="#{fileManagementBean.dataFile}" size="7" >
> <f:selectItems
> value="#{fileManagementBean.dataFileItems}"/>
> </h:selectManyListbox>
>
> value points to fileManagementBean.dataFileItems
> that returns UISelectMany
>
> public UISelectMany getDataFileItems() {
> return dataFileItems;
> }
>
> check this documentation:
>
http://www.horstmann.com/corejsf/jsf-tags.html#Table4_22a
>
> "Value binding expression that points to a
> SelectItem, an array or
> Collection of SelectItem objects, or a Map mapping
> labels to values."
>
>
> Saludos.
> Guillermo.
>
>
>
> -----Original Message-----
> From: Caroline Jen [mailto:[EMAIL PROTECTED]
> Sent: MiƩrcoles, 12 de Octubre de 2005 12:35 p.m.
> To: MyFaces Discussion; [EMAIL PROTECTED]
> Subject: RE: I Created a UISelectMany, But, It Was
> Not Acceptable to the
> <f:selectItems>
>
> 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
>
=== message truncated ===
__________________________________
Yahoo! Music Unlimited
Access over 1 million songs. Try it free.
http://music.yahoo.com/unlimited/