You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Lars Bergström <la...@systeam.se> on 2003/09/16 07:47:28 UTC
RE: TreeMap vs html:optionsCollection
Thanks for the help Jason
Maybe that's the thing. I am still puzzled about the text from Jakarta's
own javadoc for the OptionsCollectionTag class which goes:
"The collection may be an array of objects, a Collection, an
Enumeration, an Iterator, or a Map."
In that case the javadoc isn't quit right, right?
Best regards
Lasse
-----Original Message-----
From: Jason Lea
Sent: m� 2003-09-15 23:04
To: Struts Users Mailing List
Cc:
Subject: Re: TreeMap vs html:optionsCollection
I haven't used maps with <html:optionsCollection> so I don't
know if I
can give you a definite answer on this.
The optionsCollection tag is expecting a collection of objects
that it
can call .getLabel() and .getValue() on (by default but it can
be
changed with parameters). To get a list of objects from a map
you
normally call object.entrySet which you can then iterate over.
The
entry set is a set of Map.Entry objects (they have getKey and
getValue
methods).
So it looks like the tag is trying to do a .getLabel() on the
Map.Entry
object. If the tag does accept maps I would have expected that
it knows
about Map.Entry objects.
I normally use List objects with pull-downs instead, like this:
List eventGroups = new ArrayList();
eventGroups.add(new LabelValueBean("Label 1","Value 1"));
eventGroups.add(new LabelValueBean("Label 2","Value 2"));
eventGroups.add(new LabelValueBean("Label 3","Value 3"));
((EventGroupBean)form).setEventGroups( eventGroups );
Lars Bergstr�m wrote:
> Dear Struts users,
>
> I am trying to get my html:optionsCollection to work with a
TreeMap. I
> don't
> know if this is possible but on the Struts API page for the
class
> OptionsCollectionTag I read the following:
>
> "The collection may be an array of objects, a Collection, an
> Enumeration, an
> Iterator, or a Map."
> (
>
http://jakarta.apache.org/struts/api/org/apache/struts/taglib/html/Opti
> onsCollectionTag.html)
>
>
> Since TreeMap implements SortedMap which is a subinterface of
Map,
> TreeMap
> should work fine, right?
>
> However, when the page is loaded I get the folloing error
text:
> "HTTP ERROR: 500 No getter method available for property label
for bean
> under
> name 1=LabelValueBean[Label 1, Value 1]"
>
> Can anyone explain this error message? This seems strange to
me.
>
> The returntype in my ActionFormBean is TreeMap and the code
snippet
> where I
> build up the TreeMap is like this:
>
> eventGroups = new TreeMap();
> eventGroups.put( new String( "1" ),
> new LabelValueBean( "Label 1",
> "Value 1" ) );
> eventGroups.put( new String( "2" ),
> new LabelValueBean( "Label 2",
> "Value 2" ) );
> eventGroups.put( new String( "3" ),
> new LabelValueBean( "Label 3",
> "Value 3" ) );
> ((EventGroupBean)form).setEventGroups( eventGroups );
> (
>
>
> Best regards
>
> Lasse
--
Jason Lea
---------------------------------------------------------------------
To unsubscribe, e-mail:
struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail:
struts-user-help@jakarta.apache.org