アプリケーションの特定のフォームについては、レガシー システムとの互換性のためにデータベースに大文字で保存する必要があるという特定の要件があります。さまざまなソリューションを調べたところ、これを実現するのに役立つ Spring Web-MVC の 2 つの機能が見つかりました。
- Spring Converter SPI を作成し、WebMVC 構成を使用して登録します
- カスタム PropertyEditor を作成し、WebDataBinder API を使用してアタッチします。
最初のアプローチでは、すべてを大文字に変換します。これは、アプリケーション レベルで登録されており、特定の形式のみに制限したいためです。
2 番目のアプローチは、手動で選択したコントローラーに適用できます。
どちらも機能します。ただし、2 番目のアプローチでは、レンダリング フェーズ中にカスタム PropertyEditor が呼び出されないようにします。フォームが送信されるときにのみ呼び出す必要があります。そして、それに対処できるソリューションを探しています。
念のために言っておきますが、解決策は上記のアプローチのいずれかに固執する必要はありません。また、入力フィールドの JavaScript リスナーがすべてを大文字に変換するのは避けたいと思います。