You can use the <c:forEach> tag for that type of iteration. (*Chris*)
On Mon, Jun 1, 2009 at 10:36 PM, Bhaarat Sharma <bhaara...@gmail.com> wrote: > <s:iterator begin="%{1}" end="%{dataList.size()}" step="%{2}"> > </s:iterator> > > > the above properties dont seem to be there for iterator tag. > > I am doing something like this: > > <s:iterator status="stat" value="(secondResultSet.size()/3).{ #this }" > > <s:property value="#stat.count" /> <!-- Note that "count" is 1-based, > "index" is 0-based. --> > <s:property value="secondResultSet.get(#stat.index).altId" /> > <s:property value="secondResultSet.get(#stat.index+1).altId" /> > <s:property value="secondResultSet.get(#stat.index+2).altId" /> > </s:iterator> > > But this way, In first iteration I am getting elements 0, 1 and 2 but in > second iteration I Am again getting elements 1, 2 and 3 instead in first > iteration I want to get elements 0, 1, 2 and in second iteration get 3, 4, > 5 > and so on.... > > begin, end, step seems like would work but I get compilation errors when > using those since the TLD does not support them > On Tue, Jun 2, 2009 at 1:21 AM, Bhaarat Sharma <bhaara...@gmail.com> > wrote: > > > thanks dale. > > Your solutions seems to be very good. > > > > Could you or someone else please explain what exactly this line means? > > > > <s:iterator value="%{(dataList.size()).{?(#this%2)==(#this/2)}}" > > > </s:iterator> > > > > On Sun, May 31, 2009 at 10:58 AM, Dale Newfield <d...@newfield.org> > wrote: > > > >> Bhaarat Sharma wrote: > >> > >>> So I'll have something like this to create my iteratorList > >>> > >>> int sizeList = dataList.size(); > >>> List iterList = new ArrayList(); > >>> > >>> for (i = 0; i <= sizeList; i=i+2) > >>> { > >>> iterList.add(i); > >>> } > >>> > >>> > >>> So now I have a iterList. I can iterate over it in my struts2 code > >>> > >>> <s:iterate value="iterList" statue="stat"> > >>> <s:property value="((myClass)dataList.get(stat)).someClassMethod"/> > >>> <!--first item of dataList -> > >>> > >>> <s:property > value="((myClass)dataList.get(stat+1)).someClassMethod"/> > >>> <!--second item of dataList -> > >>> > >>> </s:iterate> > >>> > >> > >> You can do this completely within the jsp in a number of ways: > >> > >> <s:iterator value="%{(dataList.size()).{?(#this%2)==(#this/2)}}" > > >> </s:iterator> > >> > >> <s:iterator value="%{datalist}" status="iterStatus"> > >> <s:if test="#rowstatus.odd == true"> > >> ... > >> </s:if> > >> <s:else> > >> ... > >> </s:else> > >> </s:iterator> > >> > >> <s:iterator begin="%{1}" end="%{dataList.size()}" step="%{2}"> > >> </s:iterator> > >> > >> -Dale > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > >> For additional commands, e-mail: user-h...@struts.apache.org > >> > >> > > >