ho trovato che è possibile gestilo con la iterate:
<logic:iterate id="catalogItem" name="catalogBasketItems" length="10" offset="0"> chiodato funziona che è una meraviglia...

dinamicamete così:
<logic:iterate id="catalogItem" name="catalogBasketItems" length="length" offset="offSet">

unico problemuccio è che length e offset devo essere integer e quindi ho dovuto creare un bean per poterli settare con la session.
Ora non risco a leggerli per passarli all'iterate...

dentro al tag <logic:notEmpty name="catalogBasketItems">
ma prima dell'iterate faccio:

<td><input type="hidden" name="length" value="<bean:write name="dim" property="length"/>"/></td>
<td><input type="hidden" name="offSet" value="<bean:write name="dim" property="offSet"/>"/></td>

<logic:iterate id="catalogItem" name="catalogBasketItems" length="length" offset="offSet">

ma è come se non avessi fatto nulla... qualche suggerimento per recuperare e passare all'iterate i valori?