3

Spring MVC 4では、ブラウザの言語(HTTP ヘッダー "Accept-Language")に従ってローカライズされた URL にユーザーをリダイレクトするにはどうすればよいですか?

ユーザーが URL にアクセスしようとすると、ブラウザの言語が「DE」の場合 (つまり、「Accept-Language」ヘッダーが「de」に設定されている場合)example.com/some/pathにリダイレクトされます。de.example.com/some/path

同様に、ユーザーがアクセスde.example.com/some/pathしていて、その言語が EN の場合は、にリダイレクトする必要がありますexample.com/some/path

それを得る最も簡単な方法は何ですか?

4

2 に答える 2

1

HandlerInterceptor を作成し ( HandlerInterceptorAdapter を拡張)、リクエストから Accept-Language ヘッダーを取得します。Interceptor を Web Application Context Config に登録する必要があります。

また、サーバーが実行されているドメインも知りたいと考えています。ドメイン URL とアプリケーション名を取得する方法を参照してください。

ユーザーがロケールを変更できるようにする必要があります (ブラウザーが en_US に設定されていても、サイトをドイツ語にしたい場合があります)。したがって、この場合は Cookie を設定する必要があります。LocaleChangeInterceptorも参照してください。

于 2014-12-20T21:11:12.153 に答える