【问题标题】:foreach not recognize aliases in loop database queryforeach 无法识别循环数据库查询中的别名
【发布时间】:2015-06-14 05:24:37
【问题描述】:

您好,我正在使用 jstl foreach 并有以下查询:

<sql:query var="calendario" dataSource="jdbc/pro-level">
                    SELECT DISTINCT 
                    (select equipo.nombre from equipo where codigo=partidos.equipo1)as eq1, 
                    (select equipo.nombre from equipo where codigo=partidos.equipo2)as eq2, 
                    torneo.nombre as Torneo, 
                    partidos.cancha,
                    partidos.ronda,
                    partidos.equipo1 as ceq1, 
                    partidos.equipo2 as ceq2 
                    FROM 
                    partidos 
                    INNER JOIN equiposdeltorneo 
                    ON partidos.equipo1 = equiposdeltorneo.equipoCodigo 
                    INNER JOIN equipo
                    ON equiposdeltorneo.equipoCodigo = equipo.codigo 
                    INNER JOIN torneo 
                    ON partidos.idTorneo = torneo.idTorneo 
                    INNER JOIN cancha 
                    ON partidos.cancha = cancha.numeroCancha 
                    WHERE torneo.idtorneo = 11 AND partidos.ronda = 1
                </sql:query>

问题出在 foreach 中

<c:forEach var="row" items="${calendario.rows}" varStatus="vs">

当我尝试${row} 时,ceq1ceq2 不存在我认为 这是用于别名的。有人知道为什么吗??

【问题讨论】:

    标签: jsp foreach jstl


    【解决方案1】:

    猜这是一个错误 .. 发现了一个类似的堆栈溢出问题 .. 检查下面的链接以获取带有答案的帖子。

    我认为这是一个错误,可能是它没有提供的功能。

    下面的链接详细介绍了如何调用列名...(只是每个列的标题名称)。

    How to access duplicate column names with JSTL sql:query?

    但我建议使用 rowbyindex 而不是 rows。

    <c:forEach var="row" items="${calendario.rowsByIndex}" >
    

    然后像这样打印出来:

    <c:out value="${row[0]}"/>
    

    就像一个数组,值从 0 存储到所选列的数量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      • 2015-10-19
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 2020-08-29
      • 1970-01-01
      相关资源
      最近更新 更多