У меня есть приложение spring + hibernate, где я делаю собственный запрос в моем DAO-слое. Запрос выглядит следующим образомJSTL NumberFormatException
select name, amount from myTable where id=:id
Очевидно, что выбранные поля различных типов данных (String, Number).
В JSP Я хочу напечатать возвращенный результат в таблице, поэтому я использую foreach loop
для прохождения каждой записи в возвращаемом наборе.
Я хочу, чтобы положить отрицательные числа между скобками, так что я использую следующий код
<c:forEach var="item" items="${resultSet}">
<tr>
<c:forEach var="v" items="${item}" varStatus="st">
<td>
<c:choose>
<c:when test="${v != null}">
<c:choose>
<c:when test="${v<0}">
<c:out value="(${v})"></c:out>
</c:when>
<c:otherwise>
<c:out value="${v}"></c:out>
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
<c:out value="-"></c:out>
</c:otherwise>
</c:choose>
</td>
</c:forEach>
</tr>
</c:forEach>
Как первый элемент в запросе строки, этот код запускает NumberFormateException.
Я знаю два решения этой проблемы. Первый - это скобки в SQL-запросе, но я не могу использовать это решение, так как приложение содержит много запросов, и потребуется много времени на изменение всех запросов.
Второе решение - использовать resultTransformer и преобразовывать возвращенные данные в один объект, но это не подходит по той же предыдущей причине.
Есть ли обходной путь для решения этой проблемы?
это то, что я сделал, пожалуйста, проверьте код в моем вопросе –
проверить первую строку $ {v <0} .remove тех «». –