EL Ausgabe Dezimalzahl

Status
Nicht offen für weitere Antworten.

braca

Neues Mitglied
Hallo,

in meiner JSP-Webapplikation mache ich eine Sql-Abfrage, deren Ergebnis ich mit c:eek:ut ausgeben will. Code sieht ungefähr so aus:
(JBoss 4.2.3, Oracle 10g, Web-app 2.5)

<sql:query var="queryResults">
SELECT kat1, kat2, SUM(bet)
FROM tab1
WHERE
dat BETWEEN '01.01.2007' AND '31.12.2007'
GROUP BY kat1,kat2
ORDER BY kat1,kat2
</sql:query>

<table>
<c:forEach var="row" items="${queryResults.rows}">
<tr>
<td><c:eek:ut value="${row.kat1}" /></td>
<td><c:eek:ut value="${row.kat2}" /></td>
<td><c:eek:ut value="${row[2]}" /></td>
</tr>
</c:forEach>
</table>

Allerdings bekomme ich dabei eine Exception:

org.apache.jasper.JasperException: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String

Das Ergebnis von SUM(bet) ist jeweils eine Dezimalzahl wie 1000,23.

Kann ich c:eek:ut oder irgendwie anders beibringen, das es auch einen long akzeptiert? Oder wie macht man sowas normalerweise, ist c:eek:ut für eine Dezimalzahl nicht gedacht?

Danke für eine Antwort
braca
 

HLX

Top Contributor
Ein long ist kein Dezimalwert. Long hat keine Nachkommastellen. Dezimalwerte werden über float, double oder BigDecimal abgebildet.

Versuch mal folgendes:
Code:
SELECT kat1, kat2, SUM(bet) AS summe
FROM tab1
...
und
Code:
<td><c:out value="${row.kat1}" /></td>
<td><c:out value="${row.kat2}" /></td>
<td><c:out value="${row.summe}" /></td>
 

braca

Neues Mitglied
Hallo,

danke für den Tipp: Der Sql-Alias-Name für die Spalten mit den Aggregatsfunktionen war des Rätsels Lösung.

Gruß braca
 
G

Gelöschtes Mitglied 5909

Gast
Habe ein ähnliches Problem, dass sich aber nicht über die DB abfrage lösen lässt:

Code:
                <c:forEach var="article" items="<%= articles %>" >
                    <tr>
                         
                        <td width="80"><c:out value='${article.price}' /> €</td>
                    </tr>
                </c:forEach>

am liebsten würde ich dafür einen currency-numberformatter nehmen, aber article wird innerhalb von scriptlets etc nicht erkannt und ist nur in der EL verfügbar. Muss ich mir dafür n eigenen taglig schreiben oder gibts ne andere und einfachere Lösung?
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben