我正在使用 Spring 3.1 开发一个项目。我们正在做我们所有的验证服务器端,但是当请求参数绑定到 Long 或 Integer 对象时遇到了问题。虽然大多数无效值最终会导致异常并显示错误消息,但当请求参数包含数字之间的空格时,情况并非如此。例如,当绑定“12345 6789”时,我们预计会出现验证错误,但空白只是被修剪掉了。
我使用调试器发现这发生在 org.springframework.util.NumberUtils 中。调用 StringUtils.trimAllWhitespace 以从所有输入中删除空格。这似乎是一个足够常见的用例,但到目前为止我一直无法找到任何有好的解决方案的人。在只接受数字的情况下,将请求参数上的字符串简单转换为 Long 或 Integer 的最佳方法是什么?