foreach无法识别循环数据库查询中的别名

时间:2015-04-09 01:56:47

标签: jsp foreach jstl

您好我怀疑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} ceq1并且ceq2不存在时,我想 这是别名。有人知道为什么??

1 个答案:

答案 0 :(得分:-1)

猜猜这是一个错误..发现了一个类似的堆栈溢出问题..请查看以下链接以获得答案的帖子。

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

以下链接提供了如何调用列名称的详细信息...(只是每个coloumn的标题名称)。

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

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

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

并将其打印出来:

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

就像数组一样,值从0存储到所选颜色的数量。