0

すべてのローカリゼーションのニーズに対して、Spring LocaleChangeInterceptor と ReloadableResourceBundleMessageSource を使用しています。奇妙な要件が来るまで、すべてが順調です。

新しい要件が必要とするのは、各言語プロパティ ファイルを「フローティング」できるようにする必要があるということです。つまり、これらのリソース バンドルは、すべてのキーを同期させる必要がなくなりました。

この使用例では、欠落しているキーは、デフォルトで en_US プロパティを使用する必要があります。欠落しているキーを英語のメッセージで埋めるツールを作成することを提案しましたが、上から強く反対されました。彼らは、Struts で実行可能であり、Spring でも同じことを行う必要があると言っています。

私はウェブを上下に検索してきましたが、そのような例は見つかりません。これはSpring 3でも実行できますか?

4

1 に答える 1

1

おそらく、クラスを拡張して、次のようResourceBundleにそのメソッドをオーバーライドできます。handleGetObject

    @Override
    public Object handleGetObject(String key) {
        try {
            return messages.getMessage(key, null, getLocale());
        } catch (NoSuchMessageException e) {
            return messages.getMessage(key, null, new Locale("en_US"));;
        }
    }

私は私のプロジェクトで彼と非常によく似たことをしました。また、紛失したキーを処理する必要がありました。

于 2013-09-19T06:55:37.267 に答える