我正在尝试在forEach循环中渲染一个DisplayTag表。表达式${paquete.listaProductoPaquete}
是一个项目列表;但是当我尝试这个时,我得到一张空桌子:
<c:forEach var="paquete"
items="${consultaConsumosWrapper.listadoPaqueteConsumo}">
<tr>
<td><display:table
name="${paquete.listaProductoPaquete}" export="false"
id="producto" style="width:100%" sort="list"
defaultsort="1" class="grilla">
<display:column sortable="false"
titleKey="header.consultaDatos.producto">
${producto.producto}
</display:column>
</display:table>
</td>
</tr>
</c:forEach>
如果我试试这个,我会按预期获得列表中单个项目的信息:
<c:forEach var="paquete"
items="${consultaConsumosWrapper.listadoPaqueteConsumo}">
<tr>
<td>
<c:forEach var="producto"
items="${paquete.listaProductoPaquete}">
${producto.producto}
</c:forEach></td>
</tr>
</c:forEach>
为什么这不起作用的任何想法?当我在循环外尝试标记时,一切正常。
答案 0 :(得分:0)
尝试更改为
<display:table name="paquete.listaProductoPaquete" ...
答案 1 :(得分:0)
请确保您正在使用带有EL支持的displayTag。在您的DisplayTag jar文件中,您应该有displayTag-el.tld文件。
如果List包含正确的数据,您应该看到以下代码的表:我刚刚从displayTable标记中删除了DisplayColumn和排序属性。
<c:forEach var="paquete"
items="${consultaConsumosWrapper.listadoPaqueteConsumo}">
<tr>
<td><display:table
name="${paquete.listaProductoPaquete}" export="false"
style="width:100%" class="grilla">
</display:table>
</td>
</tr>
</c:forEach>