I'm almost certain that syntax won't work with Struts 1.0.... but mapped
properties support has been added to the BeanUtils project and seems likely
that it would work with a nightly build of Struts using the latest
BeanUtils.   Anyone know for sure?   I'm sure I'll be in a position to try
it out first hand in the very near future though.

    Erik


----- Original Message -----
From: "Paul King" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, September 20, 2001 9:21 AM
Subject: Re: dealing with HashMaps instead of beans


> For HashMaps, would a property reference look like the following?
>
> <bean:write name="product" property="(productName)"/>
>
> My understanding is that this would translate to
product.get("productName").
> That would be fine for extracting data, which is the primary issue.
>
> paul
>
> Erik Hatcher wrote:
>
> > Check out BeanUtils:
> >
> >
http://cvs.apache.org/viewcvs/jakarta-commons/beanutils/src/java/org/apache/
> > commons/beanutils/BeanUtils.java?annotate=1.6
> >
> > around line 330.... I think this is what you'd need, and its something
that
> > the Struts tags would need to start using.  It might even be sort of
already
> > in the works by others.  Anyone??
> >
> >     Erik
> >
> > ----- Original Message -----
> > From: "Paul King" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Wednesday, September 19, 2001 11:29 PM
> > Subject: Re: dealing with HashMaps instead of beans
> >
> > > Thanks Erik.  I'm looking for a general solution, so possible changes
to
> > the
> > > Commons code could give me some hope.  This would be similar to
behavior
> > NeXT
> > > used to implement to allow generic data bearing objects like HashMaps
to
> > work
> > > interchangeably within their frameworks that managed bean-like
objects.
> > >
> > > In addition to bean:write, I want to be able to use other std tags
that
> > expect
> > > beans (e.g., html:options). Also, there are lots of tables loaded into
> > HashMaps
> > > in these apps. So... I don't think custom taglibs would be a good fit.
> > >
> > > paul
> > >
> > > Erik Hatcher wrote:
> > >
> > > > It'd only be a few line custom Taglib to write a tag that does a
HashMap
> > key
> > > > lookup.   It's not possible with <bean:write> in its current form,
> > although
> > > > I believe the Commons BeanUtils code has recently been updated to
> > include
> > > > this kind of lookup, but its not necessary in order to write a
simple
> > custom
> > > > tag.
> > > >
> > > >     Erik
> > > >
> > > > ----- Original Message -----
> > > > From: "Paul King" <[EMAIL PROTECTED]>
> > > > To: <[EMAIL PROTECTED]>
> > > > Sent: Wednesday, September 19, 2001 4:45 PM
> > > > Subject: dealing with HashMaps instead of beans
> > > >
> > > > > I've encountered 2 jsp apps recently that are passing data around
in
> > > > > HashMaps instead of java classes with getters and setters.
Without
> > > > > re-writing everything, I'm trying to use struts to re-write the
> > display
> > > > > and controller code of these apps, but I haven't found a good way
to
> > > > > deal with these non-bean HashMaps.  I really want to avoid
changing
> > all
> > > > > the model code that deals with HashMaps, but I'd like to use the
> > > > > bean-oriented taglibs that struts offers.
> > > > >
> > > > > Here's an example.  The model api provides a getProducts method,
which
> > > > > returns a List of HashMaps that contain product-related keys
> > (productID,
> > > > > productName, productDescription, ...).  Ideally, I could do
something
> > > > > like this:
> > > > >
> > > > > <logic:iterate id="product" name="products">
> > > > > productID is <bean:write name="product" property="productID"/>
> > > > > productName is <bean:write name="product" property="productName"/>
> > > > > productDescription is <bean:write name="product"
> > > > > property="productDescription"/>
> > > > > </logic:iterate>
> > > > >
> > > > > So, is there some trick or workaround to get HashMaps to work in
this
> > > > > and other cases where beans are expected?  I've seen previous
threads
> > > > > that demonstrate how individual map entries can be accessed as
valid
> > > > > beans, but that's not the issue here.
> > > > >
> > > > > Thanks,
> > > > >
> > > > > paul
> > > > >
> > > > >
> > > > >
> > >
> > >
>
>

Reply via email to