0

我正在尝试在 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>

任何想法为什么这不起作用?当我在循环外尝试标记时,一切正常。

4

2 回答 2

0

请确保您正在使用带有 EL 支持的 displayTag。在您的 DisplayTag jar 文件中,您应该有 displayTag-el.tld 文件。

如果您的 List 有正确的数据,您应该会看到以下代码的表格:我刚刚从 displayTable 标记中删除了 DisplayColumn 和 sort 属性。

<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>
于 2012-11-05T16:10:30.353 回答
0

尝试更改为 <display:table name="paquete.listaProductoPaquete" ...

于 2012-10-21T22:17:14.587 回答