У меня проблема с приложением Grails.
В некоторых случаях при получении экземпляра с помощью MyObject.get (id) я получаю следующее исключение:
Expected: class java.lang.Integer, got class java.lang.String
Итак, я сделал это:
Integer i = Integer.valueOf(params.id);
MyObject.get(i);
Однако появляется новая проблема. Integer#valueOf(String)
, похоже, возвращает отформатированное значение, поэтому, если params.id
больше 1000, i
получает десятичную точку (например, 1253
-> 1.253
).
обновление
После еще одного исследования я обнаружил, что значение params.id
идет с десятичной точкой, хотя его нет в строке запроса:
http://somesite.com//action?other=33&id=1485
params.id = 1.485
Что случилось с этой десятичной точкой?
Есть ли какой-нибудь грубый подход к этому?
Заранее спасибо