You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Craig Tataryn <ne...@computer-programmer.org> on 2004/04/04 22:41:37 UTC

HashMap of Vectors and Indexed Properies

I have a property on my form bean I setup to work with Map-backed properties.  Basically the hash
map backing the property is keyed by region and contains an Address object representing a company's
office within that region.

So something like:

<html:text name="myForm" property="address(texas).street1"/> would correctly render the getStreet1()
property of my address object which was in the hash slot for the region "texas".

Requirements have changed in our project and now we must support multiple addresses for a company
within a region.  So I converted my hash map to hold a Vector of addresses instead of a single
address per region.  I changed my jsp accordingly:

<html:text name="myForm" property="address(texas)[0].street1"/> however that didn't work I get an
error, this (in my mind) should grab me the first address within vector of adresses pointed to in
the texas slot and display the street1 property.

Since my underlying value being passed back by address(texas) is a Vector, I decided to try:

<html:text name="myForm" property="address(texas).get[0].street1"/>.  That doesn't work either
because the only "true" prorperties for Vector are getClass(), getSize() and isEmpty().  If the
"get" method on Vector was named "getElement" or something, I could get it to work via:

<html:text name="myForm" property="address(texas).getElement[0].street1"/>.  Until I find the
correct answer, I'm going to have to subclass Vector and add this new getElement(int) method just so
I can get this to work.

Has anyone else gotten a similar scenario to work using the existing PropertyUtils syntax for naming
nested/indexed/mapped properties?  Is subclassing Vector the only way to go here?

Thanks,

Craig
</tataryn:craig>

<tataryn:craig/>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org