Spring 3.1 を使用するプロジェクトに取り組んでいます。サーバー側ですべての検証を行っていますが、リクエスト パラメータが Long または Integer オブジェクトにバインドされている場合に問題が発生しています。ほとんどの無効な値は最終的に例外となり、エラー メッセージが表示されますが、リクエスト パラメータの数字の間に空白が含まれている場合は、この限りではありません。たとえば、「12345 6789」をバインドすると、検証エラーが発生することが予想されますが、代わりに空白が削除されます。
デバッガーを使用して、これが org.springframework.util.NumberUtils で発生していることを確認しました。StringUtils.trimAllWhitespace が呼び出されて、すべての入力から空白が削除されます。これは十分に一般的なユースケースのようですが、これまでのところ、適切な解決策を持っている人を見つけることができませんでした. 数字のみを受け入れながら、リクエスト パラメータの文字列を Long または Integer に簡単に変換するにはどうすればよいでしょうか?