I second that. But in this case why would I write another for loop to do
> I will bet one dollar that the amount of time it takes to calculate this
> value inside your Action class is less than or equal to the time it takes
> it
> to calculate the value inside the iterator in your JSP. And it's a
> vanishingly small amount compared to network latency. Unless you're
> writing
> code that's going to be hammered at the requests-per-second scale,
> optimizing out a for loop is not the best use of your time as a developer.
>
> When you're doing initial development, optimize in favor of readability and
> testability. Once you're in or close to production, analyze to find
> bottlenecks. Finding the sum of a bunch of values is not going to be your
> bottleneck.
>
> jk
>
> On Wed, Jul 1, 2009 at 5:03 PM, Bhaarat Sharma <
bhaarat.s@...>
> wrote:
>
> > but if I do it in my action class then I am adding extra 'time'.
> > to begin with I anyways have to iterate over the list in my JSP. Just to
> > calculate total if I iterate over the list again in java code then I am
> > doing two iterations through the list. Just didnt seem very efficient
> for
> > my need.
> >
> > Thanks for your suggestion!! :)
> >
> >
> > On Wed, Jul 1, 2009 at 4:59 PM, Jim Kiley <
jhkiley@...>
> wrote:
> >
> > > I don't know how Struts 2 tags work under the hood, but it's possible
> > that
> > > it's going out of scope because you declared it in the iterator, or
> it's
> > > silently throwing an error because it isn't initialized. Before your
> > > <s:iterator> starts, do <s:set name="calcTotalDebtAmt" value="0"/>.
> > > This could be handled inside your action class with like two lines of
> > code,
> > > of course, and as a side benefit you could write meaningful unit tests
> to
> > > be
> > > sure you'd gotten it right.
> > >
> > > jk
> > >
> > > On Wed, Jul 1, 2009 at 4:55 PM, Bhaarat Sharma <
bhaarat.s@...>
> > > wrote:
> > >
> > > > no :(
> > > > I tried the following
> > > > <s:iterator value="resultList" status="status">
> > > > <s:text name="number.format"><s:param value =
> > > "totalCount"/></s:text>
> > > > <s:set name="calcTotalDebtAmt"
> > > > value="%{calcTotalDebtAmt+totalCount}"/>
> > > > </s:iterator>
> > > >
> > > > and tried to print it
> > > > <s:property value="#calcTotalDebtAmt"/>
> > > >
> > > > but it shows nothing :(
> > > >
> > > > On Wed, Jul 1, 2009 at 4:41 PM, Jim Kiley <
jhkiley@...>
> > > wrote:
> > > >
> > > > > Does it work if you replace the "+=" with a "+"?
> > > > > jk
> > > > >
> > > > > On Wed, Jul 1, 2009 at 4:39 PM, Bhaarat Sharma <
>
bhaarat.s@...>
> > > > > wrote:
> > > > >
> > > > > > Does anyone know how to calculate the total value by making use
> of
> > > the
> > > > > > <s:set> tag?
> > > > > > On Mon, Jun 29, 2009 at 1:16 PM, Bhaarat Sharma <
> >
bhaarat.s@...
> > > >
> > > > > > wrote:
> > > > > >
> > > > > > > for our purpose i'd prefer doing it in the iterator tag.
> > > > > > > I tried something like this
> > > > > > >
> > > > > > > <s:set name="calcTotalDebtAmt"
> > > > > > value="%{calcTotalDebtAmt+=totalDebtAmt}"/>
> > > > > > >
> > > > > > > but this does not seem to work.
> > > > > > >
> > > > > > > what can fix this?
> > > > > > >
> > > > > > >
> > > > > > > On Mon, Jun 29, 2009 at 12:08 PM, Jim Kiley <
> > >
jhkiley@...
> > > > > > >wrote:
> > > > > > >
> > > > > > >> You're far better off doing it inside the Action class.
> > > > > > >> That said, you can probably use s:set to get what you want.
> > > > > > >>
> > > > > > >> jk
> > > > > > >>
> > > > > > >> On Mon, Jun 29, 2009 at 12:03 PM, Bhaarat Sharma <
> > > >
bhaarat.s@...
> > > > > > >> >wrote:
> > > > > > >>
> > > > > > >> > Hi,
> > > > > > >> > I have a simple iterator tag like the following
> > > > > > >> >
> > > > > > >> > <s:iterator value="results">
> > > > > > >> >
> > > > > > >> > <s:property value="value1"/>
> > > > > > >> >
> > > > > > >> > </s:iterator>
> > > > > > >> >
> > > > > > >> > is there a way to get the total of value1 at the end of this
> > > > > iterator
> > > > > > >> tag?
> > > > > > >> >
> > > > > > >> > basically in java we would do totalValue += value1; and then
> > at
> > > > the
> > > > > > end
> > > > > > >> of
> > > > > > >> > the loop we would have total of value1.
> > > > > > >> >
> > > > > > >> > Is that possible to do with an iterator tag?
> > > > > > >> >
> > > > > > >>
> > > > > > >>
> > > > > > >>
> > > > > > >> --
> > > > > > >> Jim Kiley
> > > > > > >> Senior Technical Consultant | Summa
> > > > > > >> [p] 412.258.3346
> > > > > > >>
http://www.summa-tech.com> > > > > > >>
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Jim Kiley
> > > > > Senior Technical Consultant | Summa
> > > > > [p] 412.258.3346
> > > > >
http://www.summa-tech.com> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Jim Kiley
> > > Senior Technical Consultant | Summa
> > > [p] 412.258.3346
> > >
http://www.summa-tech.com> > >
> >
>
>
>
> --
> Jim Kiley
> Senior Technical Consultant | Summa
> [p] 412.258.3346
>
http://www.summa-tech.com>