struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vijay Balakrishnan <vbalakrish...@northpacific.com>
Subject [OT]RE: Iterating the resultset contents in the view (jsp)
Date Tue, 15 Jul 2003 18:34:07 GMT
Hi,

Is there a way to return this resultset from a SQL Query as an xml file
using a beanutils class or Digester ?

Thanks,
Vijay

-----Original Message-----
From: Craig R. McClanahan [mailto:craigmcc@apache.org] 
Sent: Monday, July 14, 2003 7:25 PM
To: Struts Users Mailing List
Subject: Re: Iterating the resultset contents in the view (jsp)




On Mon, 14 Jul 2003, Richard Hill wrote:

> Date: Mon, 14 Jul 2003 16:36:17 -0700
> From: Richard Hill <RHill@classmates.com>
> Reply-To: Struts Users Mailing List <struts-user@jakarta.apache.org>
> To: "'struts-user@jakarta.apache.org'" 
> <struts-user@jakarta.apache.org>
> Subject: Iterating the resultset contents in the view (jsp)
>
> Hi,
> I'm working on an action that gets a resultset from a database table 
> containing 4 columns. I need to pass that information back to the view 
> (jsp) which will iterate over results. My question is what is the best 
> way to do this. Do I create an array for each row in the resultset and 
> insert each array in a collection, passing that back to the view?
>

That is certainly one approach.  Indeed, commons-beanutils has a useful
little class (org.apache.commons.beanutils.RowSetDynaClass) that is ideally
suited to this use case.  It creates a List of DynaBeans representing the
data content returned by the SELECT.  Because it makes a copy, you can close
the result set (and return the connection back to the connection pool)
before forwarding to the page.

> If so, how would you iterate over each array in the collection with 
> the logic:iterate taglib? All of the examples only show iterations 
> over single column lists.
>

Let's assume you have done this in your Action:

  ResultSet rs = ...;
  RowSetDynaClass rsdc = new RowSetDynaClass(rs);
  rs.close();
  request.setAttribute("customers", rsdc.getList());

so you now have a request attribute containing the list.  Now, in your page,
you can say things like:

  <logic:iterate id="customer" name="customers">
    Name is <bean:write name="customer" property="name"/>
    Status is <bean:write name="customer" property="status"/>
  </logic:iterate>

and so on.  Details of RowSetDynaClass are in the javadocs for BeanUtils:

  http://jakarta.apache.org/commons/beanutils/

> Any help would be appreciated.
>
> Thanks,
> Richard
>

Craig

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

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


Mime
View raw message