Yo lo hago con un un logic:iterate de esta forma:
Código PHP:
<logic:iterate id="tipos" name="listaGanancias" >
<tr>
<td><bean:write name="tipos" property="id"/>
</td>
<td><bean:write name="tipos" property="nombre"/>
</td>
<td><bean:write name="tipos" property="monto"/>
</td>
<td><bean:write name="tipos" property="formaDePago"/>
</td>
<td><bean:write name="tipos" property="categoria"/>
</td>
<td><bean:write name="tipos" property="fechaGananciaString"/>
</td>
id: es una variable "local" que contiene el objeto que se pasa desde "listaGanancias"
la variable listaGanancias se la paso desde un action al momento de cagar la pagina y es un arraylist.
Código PHP:
java.util.ArrayList ganancias = cl.uthanien.framework.logica.ganancias.Ganancias.consultarGanancia(varIS.getRut());
request.setAttribute("listaGanancias", ganancias);
Espero te sea de ayuda!
saludos